Обобщения, вызывающие различные функции в зависимости от типа - PullRequest
0 голосов
/ 10 марта 2020

У меня есть проблема, которая, я думаю, выиграет от некоторых дженериков, но у меня проблемы с оборачиванием головы. У меня есть 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, потому что единственное отличие заключается в добавлении создания сущности на основе значений в файле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...