Activator.CreateInstance() -是否有更有效的方法来创建对象

本文关键字:有效 方法 创建对象 是否 CreateInstance Activator | 更新日期: 2023-09-27 18:05:25

我有很多代码,目前使用Activator.CreateInstance()来创建基于类型的对象。是否有更优化的方法来实现这一点?

Activator.CreateInstance<T>() -是否有更有效的方法来创建对象

我将假设您无法使用new关键字,因为您正在通过泛型工厂创建对象的实例。

对于如何通过反射实例化对象,您的选择是有限的。除了Activator.CreateInstance及其衍生物,我所知道的使用泛型类型定义实例化对象的唯一方法是声明新的约束。这允许您调用new T()。你正在实例化的对象必须声明一个无参数构造函数才能正常工作。

如果性能是最重要的,那么我建议您避免任何反射或基于泛型的对象实例化模式,并在可能的情况下使用new关键字创建有问题的对象的实例。