Instancier une classe à partir de son nom textuel

Ne me demandez pas pourquoi, mais j'ai besoin de faire ce qui suit:

string ClassName = "SomeClassName";  
object o = MagicallyCreateInstance("SomeClassName");

Je veux savoir de combien de façons il y a à faire c'est et de l'approche à utiliser dans le scénario.

Exemples:

  • Activator.CreateInstance
  • Assembly.GetExecutingAssembly.CreateInstance("")
  • Toute autre suggestion serait appréciée

Cette question n'est pas destiné à être ouvert et clos la discussion parce que je suis sûr qu'il ya seulement tellement de façons cela peut être réalisé.

  • Un double possible de stackoverflow.com/questions/648160/...
  • Hmm, quelles sont les chances que vous pouvez deviner son nom d'espace de noms correctement? Et l'assemblée elle vient?
  • C'est l'assemblée le type est déjà chargé ou pas? Si cela arrive à être quelque chose autour de plugins, vous pouvez consulter la MEF
  • Aussi, les étudiants de la classe n'a pas args ctor? (Plus précisément, peut-être que des suppositions)
  • En fait, ces noms sont connus et les classes existent dans la même assemblée, dans laquelle j'ai besoin pour ce faire.
InformationsquelleAutor Raheel Khan | 2012-03-24