如果BaseFruit
有一个接受int weight
的构造函数,我能在这样的泛型方法中实例化一个水果吗?
public void AddFruit<T>()where T: BaseFruit{
BaseFruit fruit = new T(weight); /*new Apple(150);*/
fruit.Enlist(fruitManager);
}
注释后面添加了一个示例。似乎只有给BaseFruit
一个无参数构造函数,然后通过成员变量填充所有内容,才能做到这一点。在我的实际代码中(不是关于水果),这是相当不切实际的。
我倾向于认为反射是最不干净的一种,但我无法在另外两种之间做出决定。