gpt4 book ai didi

c# - 创建泛型类型实例的方法

转载 作者:行者123 更新时间:2023-11-30 19:16:11 25 4
gpt4 key购买 nike

我正在尝试创建泛型方法。我希望调用者能够定义两种不同的类型。

private TableRow AddRowHelper<TROW, TCELL>(params string[] content) where TROW : TableRow where TCELL : TableCell
{
TableRow row = new TROW();
foreach (var text in content)
{
TableCell cell = new TCELL();
cell.Text = text;
row.Cells.Add(cell);
}
productsTable.Rows.Add(row);
return row;
}

上面的代码给我一个错误。

Error 4 Cannot create an instance of the variable type 'TROW' because it does not have the new() constraint"

是否可以同时指定 new 和基本类型约束?当我指定类型必须从 TableRow 派生时,为什么我需要一个新的约束,它总是有一个 new 运算符。

最佳答案

Why do I need a new constraint when I have specified that the type must derive from TableRow, which always has a new operator.

TROW 可能是一种继承自 TableRow 的类型,并且没有默认的公共(public)构造函数。这就是为什么您需要添加一个 new() 约束。

关于c# - 创建泛型类型实例的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26597581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com