我嘗試從.dll(它也在執行項目中引用)中領導類型。我呼籲:assembly.GetTypes()不返回所有類型
public static void LoadPlugin(string pluginFile)
{
Assembly assembly = Assembly.LoadFrom(pluginFile);
foreach (Type type in assembly.GetTypes())
{
// play with it
}
}
它加載只是其中的幾個:
public partial class Mathematics : UserControl, IMathematics, IPortable
和
public partial class Welcome : UserControl
但接下來的一個,和其他一些人,被忽略:
public partial class Test : UserControl, ITest, IPortable
他們都站在同一個大會,在s ame命名空間。 public static void LoadPlugin(string pluginFile)
方法位於執行項目中也引用的其他程序集中。
不引發任何異常。 未加載所有類型的問題可能是什麼?有任何想法嗎?
我有一個類似的問題,因爲GetTypes()沒有返回在程序集中定義的所有PUBLIC類,並且都具有Export屬性。我不知道它是巧合還是什麼,但它碰巧實現了一個接口的類型(就像你有)沒有被報告,而不實現接口的類型被報告 – 2014-08-07 15:29:18