[英]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);
我嘗試了各種方法,但遇到了障礙。 好像我必須知道類型的名稱空間。 這是真的? 還是我錯過了一些東西。
回顧一下,我有兩件事...
您可以列出當前應用程序域或執行程序集中的所有類型,然后在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.