【发布时间】:2012-04-08 22:33:18
【问题描述】:
不要问我为什么,但我需要做以下事情:
string ClassName = "SomeClassName";
object o = MagicallyCreateInstance("SomeClassName");
我想知道有多少种方法可以做到这一点,以及在哪种情况下使用哪种方法。
例子:
Activator.CreateInstanceAssembly.GetExecutingAssembly.CreateInstance("")- 如有任何其他建议,我们将不胜感激
这个问题并不是一个开放式的讨论,因为我确信只有这么多方法可以实现。
【问题讨论】:
-
嗯,你能正确猜出它的命名空间名称的几率是多少?它来自哪个程序集?
-
该类型所在的程序集是否已经加载?如果这恰好与插件有关,您可以查看 MEF
-
另外,该类是否有无参数 ctor? (具体来说,可以假设)
-
实际上,这些类命名空间是已知的,并且这些类存在于我需要执行此操作的同一程序集中。
标签: c# string class instantiation