我已经在我的一些代码中使用了Activator.CreateInstance()。用这个做一个实例有什么风险吗?
发布于 2009-10-28 15:17:54
嗯,有这样的风险,你的代码是弱类型的,你不会发现你意外地试图将它与一个没有公共无参数构造函数的类型一起使用,直到执行时……而且它的性能比直接的构造函数调用要差一点。除此之外,应该没问题。
如果您可以围绕它进行设计,使用强类型工厂来代替,这在各种方面都是可取的-但我完全理解这并不总是合适的。基本上,它应该是正常设计模式失败时的最后一种方法,但它是完全合理的最后一种方法:)
你有什么特别的顾虑吗?
https://stackoverflow.com/questions/1635613
复制相似问题