我有這樣的代碼片段:使用typeof我的泛型類型參數
foreach (var item in allClassesINeedList)
{
var genericMethod = temp.GetType().GetMethod("GenerateDocument").MakeGenericMethod(typeof(item));
genericMethod.Invoke(temp, new object[] { item });
}
這將引發一個錯誤:
"The type or namespace name 'item' could not be found (are you missing a using directive or an assembly reference?)"
我的目標是在allClassesINeedList
執行爲每個對象(它的一個List<object>
)我的通用方法GenerateSingleDocument
與該列表中的每個對象。
我做錯了什麼?
擴展 - 「typeof」僅適用於編譯時已知編譯器的類型,例如, 'typeof運算(IDisposable接口)'。要找到一個對象的類型,使用'GetType()'。 – yaakov