2016-06-17 29 views
0

我正在使用反射來基於字符串方法和類名稱動態調用方法。爲此,我遍歷所有程序集以查找給定的類名稱並調用其中的方法。雖然循環像下面的程序集在'Assembly'中找不到定義的類型。您是否缺少任何參考

foreach (var asm in AppDomain.CurrentDomain.GetAssemblies()) 
{ 
    type = asm.DefinedTypes.Where(t => string.Compare(t.Name, pTypeName, StringComparison.OrdinalIgnoreCase) == 0).FirstOrDefault(); 
    if (type != null) //If the type is found, stop looping through the assemblies 
     break; 
} 

我收到錯誤「在'Assembly'中未找到DefinedTypes」。

+3

在.NET 4.5中加入了TypeInfo類,該類使該方法成爲必需。改用GetTypes()。 –

回答

2

我能解決這個問題。我的項目是針對.Net 4.當我將目標框架更改爲.Net 4.6時,問題得到解決。

相關問題