我想将一些文本文件转换为我的代码实体。
这些文件包含实体信息,例如,一个包含客户信息,一个包含订单信息,另一个包含供应商信息。
我已经实现了将实体类型转换为实体类的字符串。
由于读取文本文件并将每一行转换为字符串是不同实体的常见任务,因此我使用了通用类来读取文本文件并将其转换为实体。
public class TextToEntity<TEntity>
{
private string _txtfile { get; set; }
public TextToEntity(string TextFile)
{
_txtfile = TextFile;
}
public List<TEntity> ReadText()
{
return File.ReadAllLines(_txtfile).Select(c =>
{
return (TEntity)c;
}).ToList();
}
}
线
return (TEntity)c
导致错误
无法将字符串转换为TEntity
我知道我应该给TextToEntity一个约束,例如:
public class TextToEntity<TEntity> where TEntity:Customer,Supplier,Order
但这不是真正的语法,真正的形式是什么?
有人可以帮忙吗?
答案 0 :(得分:0)
我认为您的设计非常糟糕...无论如何,这是一个简单的“ hack”:
public List<TEntity> ReadText()
{
return File.ReadAllLines(_txtfile).Select(c =>
{
var method = typeof(TEntity).GetMethod("op_Explicit", new[] { typeof(string) });
return (TEntity) method.Invoke(null, new[] { c });
}).ToList ();
}