2012-01-25 168 views
1

我想通過調用Type.GetType()來獲得類的類型,但它拋出一個空引用異常。我將該類的完全限定名稱作爲字符串提供,我不確定我做錯了什麼。這是我在做什麼:Type.GetType()拋出異常

Type.GetType("The.Name.Space.TheClassName") 

這是該類的完全限定的名稱,它適用於導入語句。誰能告訴我我做錯了什麼?任何建議將非常感激。謝謝!

編輯:代碼塊

+0

顯示完整的代碼。 –

+0

您可能需要[程序集限定名稱](http://stackoverflow.com/questions/8681305/im-unable-to-get-a-type-using-the-type-gettype-method/8681446#8681446)。沒有它,類型必須在當前執行的程序集或mscorlib.dll中,否則GetType返回null(因爲它不會找到類)。 –

+1

也許嘗試使用'System.Type'來確保你不是指更多的本地方法或屬性,稱爲'Type' –

回答

7

您需要爲Type.GetType()提供AssemblyQualifiedNameHere是一個有趣的博客文章,關於使用Type.GetType()的幾個注意事項。

6

如果你是後類型不在系統/ mscorlib程序,而不是調用程序集,那麼你應該使用程序集限定名稱,例如:

Type type = Type.GetType(
    "The.Name.Space.TheClassName, The.Assembly") 
+0

var type = Type.GetType(「System.Data.DBConcurrencyException, System.Data「);不工作。任何想法爲什麼? – gsharp