使用反射创建对象的更好方法是什么?
获取构造函数的引用并调用构造函数来创建对象或
在类的类型上使用Activator.CreateInstance
。
从某种意义上说,有什么具体的理由让我们选择一种方法而不是另一种方法吗?如果是在什么情况下。
我只是在学习反思并且有这个问题。
使用反射创建对象的更好方法是什么?
获取构造函数的引用并调用构造函数来创建对象或
在类的类型上使用Activator.CreateInstance
。
从某种意义上说,有什么具体的理由让我们选择一种方法而不是另一种方法吗?如果是在什么情况下。
我只是在学习反思并且有这个问题。
他们做同样的事情。它只是更容易使用Activator.CreateInstance
。
使用与指定参数最匹配的构造函数创建指定类型的实例。
实际上,您可能会从使用中获得一些性能优势,Activator
因为它会在内部缓存构造函数实例。如果您在循环中创建其中的许多,那么 Activator 代码很可能比简单的手动实现更优化。