12得票1回答
在C#表达式树中可靠地检测编译器生成的类

我正在构建一个类似于Linq-to-SQL的C#表达式转Javascript代码的转换器,但是我在处理编译器生成的表达式树时遇到了问题。 我面临的具体问题是如何处理编译器生成的MemberExpression值,但是它们的类型上没有指定CompilerGeneratedAttribute。 以...

15得票1回答
LINQ表达式中的Contains函数

我希望在linq中添加动态表达式,但是在contains方法上遇到了问题,对于Equal方法它可以完美地工作。问题在于我正在动态获取FilterField,如何在查询中替换它。到目前为止,我已经尝试过:List<int> Ids = new List<int>(); ...

9得票2回答
LINQ Expression<Func<T, bool>>中等价于.Contains()的方法是什么?

有人知道如何使用Linq表达式创建.Contains(string)函数,或者创建谓词来实现这一点吗? public static Expression&lt;Func&lt;T, bool&gt;&gt; Or&lt;T&gt;(this Expression&lt;Func&lt;T, ...

9得票3回答
从成员表达式中获取反射类型

考虑以下代码: static void Main(string[] args) { Expression&lt;Func&lt;SomeDerivedClass, object&gt;&gt; test = i =&gt; i.Prop; var body = (UnaryE...

11得票2回答
从类型动态获取类属性值

我正在尝试编写一个方法,用于在程序集中查找具有特定自定义属性的所有类型。我还需要能够提供要匹配的字符串值。但是,我希望能够在任何类上运行此方法并返回任何值。例如: 我想执行这样的调用Type tTest = TypeFinder.GetTypesWithAttributeValue(Assem...

10得票1回答
如何在lambda表达式中设置断点?

我希望能够调试一个被表达式树调用的lambda函数。不幸的是,断点永远没有被触发。 以下是可以使用的完整控制台程序: private static void Main() { var evalAndWrite = EvalAndWrite(x =&gt; x + 1 /* a br...

12得票4回答
动态添加新的lambda表达式以创建过滤器。

我需要在一个ObjectSet上进行过滤,以便通过以下操作获得所需的实体: query = this.ObjectSet.Where(x =&gt; x.TypeId == 3); // this is just an example; 在代码的后面(延迟执行之前),我再次按照以下方式过...

8得票2回答
使用Expression[]调用(params object[])

我正在尝试从Linq.Expression树中调用String.Format。以下是一个快速示例: var format = Expression.Constant("({0}) {1}"); var company = Expression.Property(input, ...

16得票2回答
我该如何组合 Linq 表达式?例如 Func<Exp<Func<X, Y>>, Exp<Func<Y, Z>>, Exp<Func<X, Z>>>。

我正在创建一个名为Validator&lt;T&gt;的类。我试图实现Linq SelectMany扩展方法,以便我的验证器能够使用Linq查询组合表达式,并在基础值更改时验证最终结果。 以下测试代码展示了我的意图。 var a = 2; var b = 3; var va = Vali...

7得票1回答
如何使LINQ-to-Objects处理投影?

我已经实现了一个基本的(天真?)LINQ提供程序,对于我的目的来说工作得很好,但有一些怪癖我想解决,但我不确定如何解决。例如: // performing projection with Linq-to-Objects, since Linq-to-Sage won't handle thi...