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

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

11得票3回答
Linq表达式如何确定相等性?

我考虑在字典中使用Linq表达式作为键。但是,我担心会得到奇怪的结果,因为我不知道Linq表达式如何确定相等性。 从Expression派生的类比较值相等还是引用相等?换句话说, Expression<Func<object>> first = () =...

11得票1回答
变量'x'的类型为'Product',在范围内被引用,但是它没有被定义。

我在一个类库项目中有一个名为Product的类。我正在使用SubSonic SimpleRepository来持久化对象。我在Product类中有以下方法:public static IList<Product> Load(Expression<Func<Product...

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

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

11得票2回答
由于闭包,实际值被封装到DisplayClass中,导致获得ConstantExpression.Value

以下是我问题的简单演示代码。 [TestClass] public class ExpressionTests { [TestMethod] public void TestParam() { Search<Student>(s =>...

11得票1回答
从 Expression<> 中提取 Func<>

我想从以下表达式中提取 Func&lt;&gt;:Expression&lt;Func&lt;IQueryable&lt;Entity&gt;, IOrderedQueryable&lt;Entity&gt;&gt;&gt; order = q =&gt; q.OrderByDescendin...

10得票1回答
编译委托为什么比声明委托更快?

首先,这与为什么从Expression&lt;&gt;创建的Func&lt;&gt;比直接声明的Func&lt;&gt;慢不同,它出人意料地恰好相反。此外,我在研究这个问题时发现所有链接和问题都源自2010-2012年,因此我决定在这里开一个新问题,看看是否有关于.NET生态系统中委托行为的讨...

10得票3回答
将几个类似的SELECT表达式合并为一个表达式

如何将几个相似的SELECT表达式合并为单个表达式? private static Expression&lt;Func&lt;Agency, AgencyDTO&gt;&gt; CombineSelectors(params Expression&lt;Func&lt;Agency, A...

10得票2回答
如何在不同返回类型的Linq表达式之间进行转换?

我正在努力将以下Linq表达式转换,但感到头痛。 Expression&lt;Func&lt;T, object&gt;&gt; 以下是LINQ表达式: Expression&lt;Func&lt;T, U&gt;&gt; 在上述示例中,对象始终为类型U。 我知道...

10得票1回答
将Linq表达式“obj => obj.Prop”转换为“parent => parent.obj.Prop”。

我有一个类型为 Expression&lt;Func&lt;T, object&gt;&gt; 的现有表达式;它包含像 cust =&gt; cust.Name 这样的值。 我还有一个父类,其字段类型为 T。 我需要一个接受上述内容作为参数并生成一个以父类(TModel)作为参数的新表达式的...