我正在使用 FileHelpers 使用以下代码解析其结构未知的 CSV 文件:
string cd = string.Format(@"[DelimitedRecord(""{0}"")]
public sealed class ImportClass {{
[FieldQuoted('{1}')]
public string[] Fields;
}}", _delimiter, _quote);
Type t = DelimitedClassBuilder.ClassFromString(cd);
var engine = new FileHelperAsyncEngine(t);
engine.BeginReadFile(filename);
object record;
while ((record = engine.ReadNext()) != null) {
}
engine.Close();
这似乎工作得很好。当我使用调试器单步执行它时,record 是 ImportClass 类型的对象,并且 Fields 字段正确填充了文件中的数据。
我遇到的问题是如何实际提取这些数据?我无法将记录转换为 ImportClass,因为该类型在编译时未知。我真的需要使用反射还是有更简单的方法来做到这一点?