如果BaseFruit有一个接受一个的构造函数,int weight我可以用这样的泛型方法实例化一块水果吗?
public void AddFruit<T>()where T: BaseFruit{
BaseFruit fruit = new T(weight); /*new Apple(150);*/
fruit.Enlist(fruitManager);
}
Run Code Online (Sandbox Code Playgroud)
注释后面添加了一个示例.如果我给出BaseFruit一个无参数构造函数然后通过成员变量填充所有内容,我似乎只能这样做.在我的真实代码中(不是关于水果),这是不切实际的.
-Update-
所以它似乎无法以任何方式通过约束来解决.从答案中有三种候选解决方案:
我倾向于认为反射是最不干净的,但我不能在其他两个之间做出决定.
我正在尝试使用<example>标记内的<code>标记在xml文档中显示示例代码.但是,当我构建Sandcastle项目时,我发现它显示为C#.<code>标记中没有语言属性.我在Sandcastle的项目属性中找不到设置.我错过了什么吗?
顺便说一下,我使用的是HtmlHelp1格式.