C# 在Expression.Call中显示FQN

C# 在Expression.Call中显示FQN,c#,expression-trees,C#,Expression Trees,我正在尝试获取使用表达式树创建的静态方法调用的字符串表示形式。但是,文本表示不包含方法调用的FQN。下面给出的代码输出的是TestMethod(),而不是我需要的另一个class.TestMethod() 编辑:这只是一个简单的例子。最终,输出可以是这样的:- AnotherClass.TestMethod<Guid>("BLOB_DATA", new MyClass()) 如果(根据最近对Q的编辑)希望将表达式转换为可执行的内容,可以执行以下操作: Action compiled

我正在尝试获取使用表达式树创建的静态方法调用的字符串表示形式。但是,文本表示不包含方法调用的FQN。下面给出的代码输出的是TestMethod(),而不是我需要的另一个class.TestMethod()

编辑:这只是一个简单的例子。最终,输出可以是这样的:-

AnotherClass.TestMethod<Guid>("BLOB_DATA", new MyClass())
如果(根据最近对Q的编辑)希望将表达式转换为可执行的内容,可以执行以下操作:

Action compiled = Expression.Lambda<Action>(call2).Compile();
Action compiled=Expression.Lambda(call2.Compile();
然后可以像调用任何其他操作一样调用编译后的表达式

如果(根据最近对Q的编辑)希望将表达式转换为可执行的内容,可以执行以下操作:

Action compiled = Expression.Lambda<Action>(call2).Compile();
Action compiled=Expression.Lambda(call2.Compile();
然后可以像调用任何其他操作一样调用编译后的表达式

如果(根据最近对Q的编辑)希望将表达式转换为可执行的内容,可以执行以下操作:

Action compiled = Expression.Lambda<Action>(call2).Compile();
Action compiled=Expression.Lambda(call2.Compile();
然后可以像调用任何其他操作一样调用编译后的表达式

如果(根据最近对Q的编辑)希望将表达式转换为可执行的内容,可以执行以下操作:

Action compiled = Expression.Lambda<Action>(call2).Compile();
Action compiled=Expression.Lambda(call2.Compile();

然后,您可以像调用任何其他操作一样调用编译后的表达式

我不只是试图获取方法的FQN。目标是将根表达式转换为我可以在内存中使用和编译的C代码。很抱歉不清楚,请查看我对问题的编辑。如果您想编译表达式以便能够调用它,那么您肯定不想通过对表达式的ToString()调用。Expression.Lambda()和Lambda.Compile()是您在这里的朋友,我不只是想获取方法的FQN。目标是将根表达式转换为我可以在内存中使用和编译的C代码。很抱歉不清楚,请查看我对问题的编辑。如果您想编译表达式以便能够调用它,那么您肯定不想通过对表达式的ToString()调用。Expression.Lambda()和Lambda.Compile()是您在这里的朋友,我不只是想获取方法的FQN。目标是将根表达式转换为我可以在内存中使用和编译的C代码。很抱歉不清楚,请查看我对问题的编辑。如果您想编译表达式以便能够调用它,那么您肯定不想通过对表达式的ToString()调用。Expression.Lambda()和Lambda.Compile()是您在这里的朋友,我不只是想获取方法的FQN。目标是将根表达式转换为我可以在内存中使用和编译的C代码。很抱歉不清楚,请查看我对问题的编辑。如果您想编译表达式以便能够调用它,那么您肯定不想通过对表达式的ToString()调用。Expression.Lambda()和Lambda.Compile()是您的朋友