使用名稱空間獲取名稱型別

為此,你需要對包含該型別的程式集的引用。如果你有另一種可用型別,你知道它與你想要的型別相同,則可以執行以下操作:

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);