我很确定我知道这个问题的答案(你做不到),但我想看看我是否错过了什么。
如果我有课:
public class Foo
{
}
public class Bar : Foo
{
}
还有一个方法:
public Foo DoSomething()
{
return new Bar();
}
我是否正确地说如果不执行该方法就无法知道 DoSomething 的“真实”返回类型是什么?意思是,如果我这样做:
MethodInfo mi = this.GetType().GetMethod("DoSomething", BindingFlags.Public | BindingFlags.Instance);
//at this point, mi.ReturnType will be of type "Foo".
如果不执行该方法并调查我返回的对象,就无法真正知道 DoSomething 实际上返回了一个 Bar,对吗?