让我说我有一个功能,就像下面的那个...
Func<ISession, IIncomingPacket, IControllerContext, Task>
我如何获得func方法所属的类?
答案 0 :(得分:1)
Func
已有关于声明类型的信息:myFunc.Method.DeclaringType
- 请参阅Get MethodInfo for a lambda expression。请注意,在大多数情况下它实际上是无用的,因为这样的函数通常会在调用时内联声明 - 你可能需要通过类来查找有用的东西。
Func<int, string> f = (i => i.ToString());
Console.Write(f.Method.DeclaringType.Name);
您无法从Func<...>
获取此类信息,并且在大多数情况下它实际上是无用的,因为此类函数通常会在呼叫点处内联声明。
通常要获取您使用Expression<...>
的信息,请参阅How to get Method Name of Generic Func<T> passed into Method作为示例。