2011-12-30 43 views
1

ご迷惑をおかけして申し訳ありません。私の問題は、私は、以下の使用していますということです。私は非常に慎重にclassNameは型の完全修飾名であることを確認しているType.GetTypeメソッドを使用して型を取得できません。

var packageType = Type.GetType(className); 

。私はclassName変数を何度もチェックしました。しかし、これが実行されてもpackageTypeはnullになります!

私は自分のクラス名がProductであることを知っています。私は名前の文字列表現を得ることができる方法があるので、私はそれが上記に渡しているclassName文字列と正確に比較するかどうかを確認することができます。

答えて

3

で「可能System.String」をお渡しします。注:

Type.GetType

パラメータ:型名

タイプ:取得するタイプの

可能System.Stringアセンブリ修飾名。 AssemblyQualifiedNameを参照してください。型が現在実行中のアセンブリまたはMscorlib.dllにある場合は、その名前空間で修飾された型名を指定すれば十分です。例えば

私は現在実行中のアセンブリの外部で定義された型を取得しようとしていた場合、私は次のようType.GetTypeを使用することができます。

var name = "CommonLibrary.ICommand, CommonLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"; 
var type = Type.GetType(name); 

実行アセンブリの内側に、私は修飾する必要がある場合それは名前空間を経由します

var type = Type.GetType("CommonLibrary.ICommand"); 
3

はい:typeof(Product).FullName

-1

あなたは、例えば、オブジェクトを使用して、これを呼び出す必要があります

string str = ""; 
string type = str.GetType().ToString(); 

これは、あなたがアセンブリ修飾名を提供する必要があり、「タイプ」変数

+0

これは、オブジェクトのタイプを取得したい場合のみです。オブジェクトがない場合はどうなりますか? – diggingforfire

関連する問題