我对仿制药很新,并试图实现它。我怎么能在这里使用它。
private T returnValueFromGrid(int RowNo, int ColNo)
{
return (T) dgvCurrencyMaster.Rows[RowNo].Cells[ColNo].Value;
}
我正在尝试将以下值转换为泛型类型,然后将其返回。
dgvCurrencyMaster.Rows[RowNo].Cells[ColNo].Value
在这里我需要知道两件事。如何解决上述问题以及如何在我的代码中使用它。 请提供一些例如。
编辑
它给了我错误错误无法找到类型或命名空间名称'T'(您是否缺少using指令或程序集引用?
答案 0 :(得分:4)
这很简单:
private T returnValueFromGrid<T>(int RowNo, int ColNo)
{
return (T)dgvCurrencyMaster.Rows[RowNo].Cells[ColNo].Value;
}
您使用T
的方式与其类型名称相同。
话虽如此,如果这就是你所做的一切,那么你并没有从泛型中获得任何好处,因为你的方法的调用者必须指定类型。也就是说,使用泛型它看起来像这样:
var x = returnValueFromGrid<SomeType>(1, 2);
没有泛型,它看起来像这样:
var x = (SomeType)returnValueFromGrid(1, 2);
你只是将演员推送到方法中,但不是真正省去任何工作 - 无论是程序员还是CPU。