Регистратор класса, которые можно вывести классы и различные записи (изменено с: создать экземпляр список<Т> по параметру)
У меня есть класс logger с оболочкой и записями.
Тип записей зависит от случая, когда я использую функции журнала.
(Класс для импорта, экспорта, статистики и т. д.)
Есть ли способ задать тип в списке<t> с помощью параметра в конструкторе?
Что я уже пробовал:
public abstract class EntryBase() { public DateTime Timestamp { get; set; } = DateTime.Now; public string UserInfo { get; set; } = ""; } // Concrete classes // notice: Export/ImportFilename are examples and can't change to Filename... public partial class ExportEntry : EntryBase { public string ExportFilename { get; set; } = ""; } public partial class ImportEntry : EntryBase { public string ImportFilename { get; set; } = ""; } public partial class StatisticEntry : EntryBase { public DataSet Summary { get; set; } = new DataSet(); } public class Log { var entries = new List<EntryBase>(); //constructor with concrete type parameter Log(EntryBase concreteEntryType) { entries = new List<concreteEntryType.GetType()>(); } DoSomeLogFunctions() { //... } } public void Main() { var import = new Log(ImportEntry); var export = new Log(ExportEntry); var statistic = new Log(StatisticEntry); }