Activator.CreateInstance()

时间:2009-10-28 07:15:55

标签: c# reflection activator

我在我的一些代码中一直使用Activator.CreateInstance()。使用此实例制作实例是否有任何风险?

1 个答案:

答案 0 :(得分:12)

嗯,您的代码存在弱类型的风险,并且您不会发现您在执行时间之前意外尝试使用没有公共无参数构造函数的类型...并且它会比直接构造函数调用更糟糕。除此之外,它应该没问题。

如果您可以围绕它进行设计以改为使用强类型工厂,那么这种方式会更好 - 但我完全理解这并不总是合适的。基本上,当正常的设计模式让你失望时,它应该是一个最后的追索权,但它是一个完全合理的最后办法:)

您有任何具体问题吗?

相关问题