使用名稱空間獲取名稱型別
為此,你需要對包含該型別的程式集的引用。如果你有另一種可用型別,你知道它與你想要的型別相同,則可以執行以下操作:
typeof(KnownType).Assembly.GetType(typeName);
- 其中
typeName
是你要查詢的型別的名稱(包括名稱空間),KnownType
是你知道的在同一個程式集中的型別。
效率較低但更一般如下:
Type t = null;
foreach (Assembly ass in AppDomain.CurrentDomain.GetAssemblies())
{
if (ass.FullName.StartsWith("System."))
continue;
t = ass.GetType(typeName);
if (t != null)
break;
}
請注意檢查以排除掃描系統名稱空間程式集以加快搜尋速度。如果你的型別實際上可能是 CLR 型別,則必須刪除這兩行。
如果你碰巧擁有完全裝配限定的型別名稱,包括裝配,你可以簡單地使用它
Type.GetType(fullyQualifiedName);