2009-03-10 7 views
3

J'ai un assembly asdf.dll et il a une classe 'Class1'.C# question sur GetType de la classe

Comment puis-je obtenir le type de Class1?

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

Comment puis-je obtenir le type d'une classe à partir d'une chaîne contenant le nom de la classe?

Répondre

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

où MyDll.MyClass est la classe. Mydll est le nom de votre DLL. que tu veux appeler.

+0

si je donne ceci, Type t = Type.GetType ("asdf.dll.Class1, asdf .dll "); i.m devient null pour t. – SyncMaster

3

typeof(Class1).FullName est déjà le nom complet. Essayez simplement de transmettre cela, ou utilisez plutôt la propriété Type.Name à la place. Où MyDll.MyClass est la classe Emplacement de votre classe/formulaire de désir.

+0

comme je l'ai dit, je ne peux pas donner typeof (Class1) car je n'ai pas Class1 en tant que classe. Je l'ai seulement comme une ficelle. comment l'utiliser, afin que je puisse le convertir en classe – SyncMaster

+0

Errm, c'était votre code, je signale ce que vous faites mal. – leppie

+0

Copie très étrange (ci-dessous, attribué à "inconnu (google)"). J'ai eu ceci aussi ... très étrange!) –