調用一個方法,我得到了我實現接口的所有類。我想調用一個方法創建如何使用反射
var types =AppDomain.CurrentDomain.GetAssemblies().ToList()
.SelectMany(s => s.GetTypes())
.Where(t => typeof(IManagerReport).IsAssignableFrom(t));
Console.WriteLine("Processing manager reports..");
foreach(var TheType in types)
{
//error here
var temptype = Activator.CreateInstance(TheType) as IManagerReport;
temptype.Load();
temptype.Save();
Console.WriteLine("Saved to: " + temptype.SavePath);
}
所產生錯誤的對象的實例時,是在這裏:
無法創建接口的實例
東西這在上'.SelectMany'和'.Where'之間的新行:'。凡(T!=> t.IsInterface)',看看有沒有什麼幫助。 – 2012-03-13 17:47:33
的標題有誤導之嫌,你的問題無關,與調用方法,它的一切做的事實,你想構建一個接口的實例。 – 2012-03-13 17:48:23
對不起,如果你喜歡,你可以改變標題。不知道這個叫 – Luke101 2012-03-13 17:50:24