正在获取表达式的根
本文关键字:表达式 获取 | 更新日期: 2023-09-27 18:25:11
让我立即向您展示一些代码:
class MyClass {
public MyClass(Customer c) {
ExtractRoot(() => c.FirstName);
}
}
CCD_ 1正在接受CCD_ 2作为其参数。
我正在尝试从表达式树中提取客户对象"c"。我将它传递给ExtractRoot
方法,并且我知道如何获得代表客户对象的ConstantExpression
。但是,当我对该对象调用ToString()
时,我会打印出以下内容:
MyAssemblyName.CustomNamespace.MyClass+<>c_DisplayClass2
有人能解释一下这意味着什么吗?为什么我没有调用客户的ToString()
方法,就好像我得到的对象不是客户一样,为什么我得到了什么?
最后,我如何才能得到实际的客户对象,或者我表达的根源?
我已经找到了我的答案的完整解决方案,它包括两部分:
- 为什么使用DisplayClass及其含义可以在以下问题的答案中找到:调用lambda时,"DisplayClass"名称的含义是什么
- 如何获取表达式的实际根(顺便说一句,这是可能的)可以在以下问题中找到答案:从MemberExpression中获取对象