編輯:類/方法,我試圖運行這裏面是靜態的,因此我無法這樣傳遞到generic.Invoke通過靜態反射信息靜態泛型方法
我有一個靜態數據訪問類,我用它來自動解析來自不同來源的數據。 當我遇到問題時,我開始重新考慮它。 林特林一個類型傳遞給經由反射通用方法, (該方法然後分析的類型和一個值返回類型) 我的代碼目前看起來像
Type type1 = typeof(T);
var item = (T)Activator.CreateInstance(typeof(T), new object[] { });
foreach (PropertyInfo info in type1.GetProperties())
{
Type dataType = info.PropertyType;
Type dataType = info.PropertyType;
MethodInfo method = typeof(DataReader).GetMethod("Read");
MethodInfo generic = method.MakeGenericMethod(dataType);
//The next line is causing and error as it expects a 'this' to be passed to it
//but i cannot as i'm inside a static class
generic.Invoke(this, info.Name, reader);
info.SetValue(item,DataReader.Read<dataType>(info.Name, reader) , null);
}
的可能重複(http://stackoverflow.com/questions/232535/how-to次使用反射到呼叫通用方法) – 2013-03-22 15:22:52