2012-01-25 9 views
1

Type.GetType()を呼び出してクラスの型を取得しようとしていますが、null参照例外がスローされています。クラスの完全修飾名を文字列として指定していますが、私は何が間違っているのか分かりません。Type.GetType()throw null null例外

クラスの完全修飾名です
Type.GetType("The.Name.Space.TheClassName") 

、それはimport文のために正常に動作します:ここでは、私がやっているものです。誰かが私が間違っていることを教えてもらえますか?どんな提案も非常に高く評価されます。ありがとう!

編集:コードブロック

+0

完全なコードを表示してください。 –

+0

[assembly qualified name](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()にはAssemblyQualifiedNameを入力する必要があります。 Hereは、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