【发布时间】:2011-06-05 23:04:21
【问题描述】:
是否可以使用extension methods 返回generic 类型?
例如,我有以下方法:
// Convenience method to obtain a field within a row (as a double type)
public static double GetDouble(this DataRow row, string field) {
if (row != null && row.Table.Columns.Contains(field))
{
object value = row[field];
if (value != null && value != DBNull.Value)
return Convert.ToDouble(value);
}
return 0;
}
目前使用如下:
double value = row.GetDouble("tangible-equity");
但我想使用以下代码:
double value = row.Get<double>("tangible-equity");
这可能吗?如果可以,该方法会是什么样子?
【问题讨论】:
-
顺便说一句,你知道,你可以简单地写“double value = row.Get("tangible-equity");"并跳过“
”,因为编译器会弄清楚
标签: c# generics extension-methods