IAb*_*act 1 c# .net-4.0 expression-trees
我想确定要使用什么......
我需要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"
}};
Run Code Online (Sandbox Code Playgroud)
将IEnumerable传递给读取每个实体的函数以便读取每个字段值的最佳方法是什么?
我以为我会用以下东西:
void WriteData<TSource>(Expression<IEnumerable<Person>> expression)
{
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
我无法找到解释如何确定何时应该使用Expression而不仅仅是传递IEnumerable的资源.然后,我如何创建反映的表达式persons?
理想情况下,似乎我会像这样调用WriteData:
WriteData(persons);
Run Code Online (Sandbox Code Playgroud)
我是否朝着正确的方向前进?
我认为没有理由在那里使用表达式树.如果你只是想通过反射来获取所有属性,我建议你这样做 - 表达树不会真的帮助你做到这一点.
请注意,选择很少在Expression和之间IEnumerable<T>- 它通常在表达式树和委托之间,或者在IEnumerable<T>和之间IQueryable<T>.
| 归档时间: |
|
| 查看次数: |
108 次 |
| 最近记录: |