2

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

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

在类的类型上使用Activator.CreateInstance

从某种意义上说,有什么具体的理由让我们选择一种方法而不是另一种方法吗?如果是在什么情况下。

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

4

1 回答 1

5

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

使用与指定参数最匹配的构造函数创建指定类型的实例。

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

于 2013-06-29T14:41:23.090 回答