我想知道是否应该创建适用于对象级别的扩展方法,或者它们是否应该位于类层次结构中的较低点。我的意思是大致如下:
public static string SafeToString(this Object o) {
if (o == null || o is System.DBNull)
return "";
else {
if (o is string)
return (string)o;
else
return "";
}
}
public static int SafeToInt(this Object o) {
if (o == null || o is System.DBNull)
return 0;
else {
if (o.IsNumeric())
return Convert.ToInt32(o);
else
return 0;
}
}
//same for double.. etc
我编写了这些方法,因为我必须处理很多可能为空的数据库数据(来自 OleDbDataReader)(但不应该),因为不幸的是,底层数据库对可能为空的列非常自由。为了让我的生活更轻松一点,我想出了这些扩展方法。
我想知道这是好的风格,可接受的风格还是坏的风格。我有点担心它,因为它有点“污染”对象类。
提前谢谢你和最好的问候:)
基督教
PS我没有故意将其标记为“主观”。