我使用扩展方法来检查DataRowField为空通用的DataRow扩展
public static string GetValue(this System.Data.DataRow Row, string Column)
{
if (Row[Column] == DBNull.Value)
{
return null;
}
else
{
return Row[Column].ToString();
}
}
现在我不知道如果我能做出这样更通用。在我的情况下,返回类型始终是字符串,但列也可以的Int32或日期时间
喜欢的东西
public static T GetValue<T>(this System.Data.DataRow Row, string Column, type Type)
为什么你想返回字符串,如果它是一个int或日期时间?使用['DataRowExtensions.Field'-method](https://msdn.microsoft.com/en-us/library/system.data.datarowextensions.field(v = vs.110).aspx),这是强类型的甚至支持可空类型。 –
返回一个'对象'而不是字符串。还要更改以下内容:if((object)Row [Column] == DBNull.Value)。然后,您不必将单元格值转换为字符串。 – jdweng