27 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.Threading.Tasks;
 | |
| 
 | |
| namespace Elwig.Helpers.Export {
 | |
|     public interface IExporter<T> : IDisposable, IAsyncDisposable {
 | |
|         /// <summary>
 | |
|         /// The default file extension of the exported files to be used (whithout a preceding ".")
 | |
|         /// </summary>
 | |
|         static abstract string FileExtension { get; }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Export the given data to the given file.
 | |
|         /// </summary>
 | |
|         /// <param name="data">The data to be exported</param>
 | |
|         /// <param name="progress">The progress object to report to</param>
 | |
|         void Export(IEnumerable<T> data, IProgress<double>? progress = null);
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Asynchronosly export the given data to the given file.
 | |
|         /// </summary>
 | |
|         /// <param name="data">The data to be exported</param>
 | |
|         /// <param name="progress">The progress object to report to</param>
 | |
|         Task ExportAsync(IEnumerable<T> data, IProgress<double>? progress = null);
 | |
|     }
 | |
| }
 |