假设我定义了 Func 如下:
Func<MyClass, object> f = o => o.StringProperty;
或
Func<MyClass, object> f = o => o.Property.SomeMethod();
有没有办法在不专门调用的情况下获取实际返回类型?
最佳答案
你可以这样获取返回类型:
f.Method.ReturnType
但这将返回类型 object
。如果你想获得 Method
或 String
或派生自 object
的东西,除非你调用方法。
实际上您可以,但这意味着您必须分解方法核心,然后分析它以查看该方法可以返回什么。但即便如此,也可能有许多不同的返回类型。
所以答案是:如果你想知道它返回一个对象,那么是的,你可以,否则不值得麻烦,最好找到另一种方法来做你需要的事情。
关于c# - 从 Func<MyClass, object> 获取 "Object"返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17836973/