У меня есть проблема, которая, я думаю, выиграет от некоторых дженериков, но у меня проблемы с оборачиванием головы. У меня есть FileImporter Class
public class FileImporter<T>
{
public async Task ImportFile(string filePath)
{
StreamReader fileReader;
String fileLine;
fileReader = new StreamReader(filePath);
List<T> entityList = new List<T>();
if ((fileLine = fileReader.ReadLine()) != null)
{
headerNames = fileLine.ToLower().Split(',').ToList();
try
{
while ((fileLine = fileReader.ReadLine()) != null)
{
lineInfo = fileLine.Split(',').ToList();
//Need something here to define a new Entity and load it from the file.
//This would of course be unique to each entity type
entityList.Add(entity);
}
await _context.BulkInsertOrUpdateAsync(entityList);
}
catch (Exception)
{
throw;
}
}
}
}
Я пытаюсь избежать дублирования всего кода в функции Import File, потому что единственное отличие заключается в добавлении создания сущности на основе значений в файле.