0

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

4

1 回答 1

2

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

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

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

于 2013-03-21T23:55:38.313 回答