我有一個叫做VideoGame
的模型類。我需要這個類在這個方法中使用反射在t4模板中傳遞。用T4模板反射
MethodInfo[] methodInfos =
typeof(type).GetMethods(BindingFlags.Public | BindingFlags.Static);
我有以下變量。
//passed via powershell file - is a string "VideoGame"
var modelName = Model.modelName
Type type = modelName.GetType();
我得到一個錯誤,指出:類型或命名空間名稱「類型」找不到(是否缺少using指令或程序集引用?)。我需要知道的是如何在該typeof()方法內傳遞VideoGame類。我曾嘗試以下:
MethodInfo[] methodInfos =
typeof(modelName.GetType()).GetMethods(BindingFlags.Public | BindingFlags.Static);
MethodInfo[] methodInfos =
modelName.GetType.GetMethods(BindingFlags.Public | BindingFlags.Static);
MethodInfo[] methodInfos =
typeof(modelName).GetMethods(BindingFlags.Public | BindingFlags.Static);
好吧,當我傳入程序集(與命名空間相同)時,我得到:Project.Games'是一個'命名空間',它在給定的上下文中無效 – tehdoommarine
您能提供確切的代碼嗎?我會想象你有類似Type.GetType(string.Format(「{0},{1}」,modelName,modelName.Split('。')[0])) – Jeff
等等...你試圖獲取代碼GENERATOR中的方法列表,而不是GENERATED CODE,對吧? – Jeff