【发布时间】:2011-10-11 16:34:52
【问题描述】:
我正在尝试确定使用什么...
我需要将IEnumerable<TSource> 传递给将实体成员的值写入文件的函数。下面是 IEnumerable 的样子:
var persons = new[] {
new Person {
RecordID = 0,
PersonFName = "Joe",
PersonMName = "",
PersonLName = "Smith",
PersonZip="75227"
},
new Person {
RecordID = 1,
PersonFName = "Mary",
PersonMName = "Hada",
PersonLName = "Lamb",
PersonZip="75217"
}};
将 IEnumerable 传递给读取每个实体的函数以便我可以读取每个字段值的最佳方法是什么?
我在想我会使用类似的东西:
void WriteData<TSource>(Expression<IEnumerable<Person>> expression)
{
// do stuff
}
我很难找到解释如何确定何时应使用表达式而不是仅传递 IEnumerable 的资源。然后,如何创建反映 persons 的表达式?
理想情况下,我似乎会这样调用 WriteData:
WriteData(persons);
我是否朝着正确的方向前进?
【问题讨论】:
-
如果您真的有兴趣学习如何利用表达式和
IQueryable界面,我强烈建议您阅读Matt Warren 的LINQ: Building an IQueryable provider series。警告:元编程可能很复杂,需要时间和耐心 -
@smartcaveman:谢谢,我去看看。
标签: c# .net-4.0 expression-trees