2
我試圖調用與反射的方法是有一個通用的返回類型,像這樣的調用方法與通用返回類型:如何使用反射
public class SomeClass<T>
{
public List<T> GetStuff();
}
我得到SomeClass的實例有調用存儲庫的GetClass<T>
通用方法。
MethodInfo lGetSomeClassMethodInfo = typeof(IRepository)
.GetMethod("GetClass")
.MakeGenericMethod(typeof(SomeClass<>);
object lSomeClassInstance = lGetSomeClassMethodInfo.Invoke(
lRepositoryInstance, null);
之後,這是我嘗試調用GetStuff方法:
typeof(SomeClass<>).GetMethod("GetStuff").Invoke(lSomeClassInstance, null)
我得到的事實,該方法具有通用參數異常。但是,我無法使用MakeGenericMethod來解析返回類型。另外,如果不是typeof(SomeClass<>)
我使用lSomeClassInstance.GetType()
(應該已經解決類型)GetMethod("GetStuff")
返回null!
UPDATE
我已經找到了解決辦法,不久將發佈的答案。