是否可以创建一个我可以调用的函数,传递一个对象并让该函数返回任何数据类型。(我猜我必须告诉它要返回的数据类型,所以下面我刚刚传递了一个字符串为此 - 可能有一个更清洁的方式来处理这个)
public x GetValue(Object value, string datatype)
我可以打电话给这个传递:(DataRow["OrderID"], "Integer")
然后传递:(DataRow["CustomerName"], "String")
?
希望这是有道理的。
答案 0 :(得分:5)
是的,它被称为泛型:
public T GetValue<T>(Object value)
{
if (value == DbNull.Value)
{
return default(T);
}
return (T)value;
}
然后这样称呼:
string s = GetValue<string>(DataRow["CustomerName"]);
或者,作为Tim Schmelter suggested,在这种情况下,您可以使用:
DataRow.Field<string>("CustomerName");