首页 > 解决方案 > 泛型根据类型调用不同的函数

问题描述

我有一个我认为可以从一些泛型中受益的问题,但是我很难解决问题。我有一个 FileImporter 类

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;
                }
            }
        }
}

我试图避免复制导入文件函数中的所有代码,因为唯一的区别是添加基于文件中的值创建实体。

标签: c#design-patterns

解决方案


推荐阅读