2011-09-22 2 views
-3

Je cet ensemble d'objets:Comment puis-je créer un objet à partir d'une chaîne

Object A 
Object AA: A 
Object BB: A 
Object CC: A 

Comment créer un objet de type AA Étant donné une variable de chaîne avec « AA » en elle? J'ai regardé les trucs de l'activateur mais je n'arrive pas à le comprendre.

+0

Ce que vous voulez dire n'est pas très clair. Un exemple court mais complet des types impliqués et de ce que vous entendez par "cet ensemble d'objets" serait vraiment utile. –

+3

Ce sont des _classes_, pas des objets. – SLaks

+0

Je souhaite créer un objet de classe BB avec la chaîne "BB" – Charles

Répondre

6

Vous devez obtenir l'instance Type pour AA, puis la passer à Activator.CreateInstance.

Type myType = typeof(SomeTypeInProject).Assembly.GetType(typeName); 

object instance = Activator.CreateInstance(myType); 
+0

ou 'Assembly.GetExecutingAssembly()' pour l'ensemble dans lequel la ligne de code apparaît (évitant d'avoir à spécifier un type). (En supposant que 'AA',' BB' et 'CC' sont dans le même assemblage que celui qui fait l'instanciation.) –

+0

donc dans mon exemple pour créer un objet de classe BB donné la chaîne" BB ": Type myType = typeof (A) .Assembly.GetType ("BB"); - Est-ce correct? – Charles

+0

@Charles: Oui (en supposant qu'ils sont dans le même assemblage) – SLaks

Questions connexes