簡體   English   中英

僅在不知道我要激活的類型的名稱空間的情況下激活類型

[英]Activate type only without knowing the namespace of the type I am trying to activate

我不確定這是否可行,並且該問題的現有答案似乎暗示您需要了解名稱空間。

我正在嘗試激活類型,但希望避免指定類型的名稱空間。 這可能嗎? 我當然會提前知道大會。

string qualifiedName = Assembly.GetAssembly(typeof(MyType)).FullName;
Type toActivate = Type.GetType("sometype, " + qulifiedName);

我嘗試了各種方法,但遇到了障礙。 好像我必須知道類型的名稱空間。 這是真的? 還是我錯過了一些東西。

回顧一下,我有兩件事...

  1. 類型的名稱,即MyClass
  2. 它的執行組件

您可以列出當前應用程序域或執行程序集中的所有類型,然后在Where獲取要查找的類型。

var types = AppDomain.CurrentDomain.GetAssemblies().SelectMany(t => t.GetTypes())

要么

var types = Assembly.GetAssembly(typeof(MyType)).GetTypes()

其次是:

var myType = types.Where(t => t.Name == nameToFind);

然后,您可以決定是否找到一種類型,或者使用多種(如果有多種)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM