2009-03-10 11 views
3

私はアセンブリasdf.dllを持っていて、クラス 'Class1'を持っています。クラスのGetTypeについてC#質問

は、どのように私はクラス1のタイプを得ることができますか?

string a = "Class1"; //Class1 is the name of class in asdf.dll 
string typeString = typeof(Class1).FullName; // here I only have the string Class1 and not Class Class1 
AssemblyName assemblyName = AssemblyName.GetAssemblyName("asdf.dll"); 
Type type = Type.GetType(typeString + ", " + assemblyName); 

クラス名を保持する文字列からクラスの型を取得するにはどうすればよいですか?

答えて

7
Type t = Type.GetType("MyDll.MyClass,Mydll") 

ここで、MyDll.MyClassは、希望するクラス/フォームの場所のクラスです。 Mydllはdllの名前です。あなたは電話したい。

+0

...多分そのGoogleのスパイダー/クローラー、ということに気づい 型t = Type.GetType( "asdf.dll.Class1、ASDF .dll "); i.mはtに対してnullになりますか? – SyncMaster

3

typeof(Class1).FullNameはすでに完全修飾名です。

だけ渡して、その代わりに、またはType.Nameプロパティを使用してみてください。

+0

私が話した通り、私はクラスとしてClass1のを持っていけないように、私は、typeof演算(クラス1)を与えることはできません。私はそれを文字列としてだけ覚えています。どのようにそれを使用するので、私はクラスとしてそれを変換することができます – SyncMaster

+0

エルム、それはあなたのコードだった、私はあなたが間違っていることを指摘しています。 – leppie

+0

非常に奇妙な重複(以下、「不明(google)」に起因する)。私はこのあまりにも...非常に奇妙だ!) –

関連する問題