使用Reflection创建对象:Activator.CreateInstance或Inovking构造函数C#

时间:2013-06-29 14:38:22

标签: .net

使用反射创建对象的更好方法是什么?

获取构造函数的引用并调用构造函数来创建对象或

在班级的类型上使用Activator.CreateInstance

从某种意义上说,更好的是我们为什么选择一种方法而不是另一种方法?如果是这样的话。

我只是在学习反思而且有这个问题。

1 个答案:

答案 0 :(得分:5)

他们做同样的事情。使用Activator.CreateInstance更容易。

  

使用构造函数创建指定类型的实例   最符合指定的参数。

实际上,您可以通过使用Activator来获得一些性能优势,因为它在内部缓存构造函数实例。如果您在循环中创建了许多这些,那么Activator代码很可能比简单的手动实现更加优化。