1
我需要通過反射來獲取通用參數的通用類型。但是真正的類型,而不是類型{Name =「T」;全名= NULL}如何通過反射獲得通用參數的類型
public void Sample<T>(T i, object o)
{
MethodBase basee = MethodBase.GetCurrentMethod();
Type[] types = basee.GetGenericArguments();
}
,但我不能使用的typeof(T),因爲我使用反射
有沒有一種方法(使用反射),以獲得通用的參數類型類型。
// in this case i should get (Type) { Name="Int32" ; FullName="System.Int32" }
myClassObj.Sample(10, new object());
在其他千卡,我whant知道如何調用使用typeof調用的方法(T)例如:
// in Il code I see that the compiler use:
// ldtoken !!T => this should get the RuntimeTypeHandle needed as parameter
// System.Type::GetTypeFromHandle(valuetype System.RuntimeTypeHandle)
Type t = Type.GetTypeFromHandle(? ? ?);
我怎麼會從T通用參數得到RuntimTypeHandle
爲什麼你不能使用'i.GetType()'?對於這個問題,爲什麼你不能使用typeof(T)?這會告訴你這是一個整數。 – aquinas
價值我可以是空的,並使崩潰...:S –
公平的。但爲什麼不輸入typeof(T)? – aquinas