使用反射创建对象的更好方法是什么?
获取构造函数的引用并调用构造函数来创建对象或
在班级的类型上使用Activator.CreateInstance
。
从某种意义上说,更好的是我们为什么选择一种方法而不是另一种方法?如果是这样的话。
我只是在学习反思而且有这个问题。
答案 0 :(得分:5)
他们做同样的事情。使用Activator.CreateInstance
更容易。
使用构造函数创建指定类型的实例 最符合指定的参数。
实际上,您可以通过使用Activator
来获得一些性能优势,因为它在内部缓存构造函数实例。如果您在循环中创建了许多这些,那么Activator代码很可能比简单的手动实现更加优化。