IQueryable - 检测选择为匿名类型

时间:2014-03-22 13:07:03

标签: c# .net linq reflection expression-trees

有没有一种可靠的方法可以检测someQueryable.Select(x => new {Name = x.FirstName})之类的目标是否是一个匿名类?

我正在开发一个IQueryable实现,并且检测匿名类选择非常方便,只要这些值被选中到一个匿名类中我就可以将它们作为别名进行进一步操作。

到目前为止,我发现的匿名类型最明显的属性是NewExpression.Members集合,它列出了构造函数参数< =>成员关系。

如果设置了这个,我确切知道哪个成员字段是每个构造函数参数的别名,但只要非匿名类型也可以设置NewExpression.Members我永远不能确定值是否在构造函数中没有被修改或者得到了自己。

或者还有其他更可靠的“好猜”吗?

由于

0 个答案:

没有答案