私はこれに対する答えを知っていると確信しています(あなたにはできないということです)が、何かを見逃していないかどうかを確認したかった.
クラスがある場合:
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 が実際にバーを返すことを実際に知る方法はありません。メソッドを実行して、返されたオブジェクトを調査する必要があります。