您好我想在运行时将对象类型传递给IEnumberable<T>
。
例如
我必须读取CSV文件,它们都返回不同的数据集。
因此,如果我想使用单个方法,但提取一组不同的实体,而不是我能做到这一点。在下面的示例中,我想传递不同的实体而不是'Student'。
public List<Patient> GetAcgFileData(string fullFileName) {
using (var sr = new StreamReader(fullFileName)) {
var reader = new CsvReader(sr);
////CSVReader will now read the whole file into an enumerable
var records = reader.GetRecords<Student>().ToList();
return records;
}
}
答案 0 :(得分:1)
您可以使您的功能采用通用
public List<T> GetAcgFileData<T>(string fullFileName) {
using (var sr = new StreamReader(fullFileName)) {
var reader = new CsvReader(sr);
////CSVReader will now read the whole file into an enumerable
var records = reader.GetRecords<T>().ToList();
return records;
}
}
然后您可以使用GetAcgFileData<Student>("somestring");