public TableWriter <TModel> CreateWriter <TModel>(IRowWriter rowWriter, ITypeConverterResolver typeConverterResolver = null, IPropertyMapper propertyMapper = null) { typeConverterResolver = typeConverterResolver ?? new DefaultTypeConverterResolver <TModel>(); propertyMapper = propertyMapper ?? new AutoIndexPropertyMapper(); return(new TableWriter <TModel>(rowWriter, typeConverterResolver, propertyMapper)); }
private TableWriter <TModel> CreateTableWriter <TModel>(StringWriter strWriter, IRowWriter rowWriter = null, ITypeConverterResolver typeConvResolver = null, IPropertyMapper mapper = null) { rowWriter = rowWriter ?? new CsvRowWriter(strWriter); typeConvResolver = typeConvResolver ?? new DefaultTypeConverterResolver <TModel>(); mapper = mapper ?? new AutoIndexPropertyMapper(); var tableWriter = new TableWriter <TModel>(rowWriter, typeConvResolver, mapper); return(tableWriter); }
private static ProcessKind GetProcessKind(IProcess process) { if (process.GetType().GetInterfaces().Any(x => x.IsGenericType && x.GetGenericTypeDefinition() == typeof(IExecutableWithResult <>))) { return(ProcessKind.jobWithResult); } return(process switch { IRowReader _ => ProcessKind.reader, IRowWriter _ => ProcessKind.writer, IMutator _ => ProcessKind.mutator, IScope _ => ProcessKind.scope, IEvaluable _ => ProcessKind.producer, IExecutable _ => ProcessKind.job, _ => ProcessKind.unknown, });
public TableWriter(IRowWriter rowWriter, ITypeConverterResolver typeConverterResolver, IPropertyMapper propertyMapper) { RowWriter = rowWriter; TypeConverterResolver = typeConverterResolver; PropertyMapper = propertyMapper; }
/// <summary>Constructor for dependency injection that is used primarily for TESTING; however, a user could override how /// a row is written by implementing the interface.</summary> public CsvWriterService(IRowWriter rowWriter) { _rowWriter = rowWriter ?? throw new ArgumentNullException(nameof(rowWriter), "Row writer cannot be null. Note that this constructor is mainly used for testing purposes."); }
public ActivityMonitorMainForm() { InitializeComponent(); systemFocusTitleListener.ForegroundTitleProbablyChanged += UpdateCurrentApplication; rowWriter = new MultiFileRowWriter(LogFileNamePattern); }