オブジェクトレベルで適用する拡張メソッドを作成する必要があるのか、それともクラス階層の下位に配置する必要があるのか疑問に思っています。私が言いたいのは、次のようなものです。
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
基になるデータベースは残念ながらnullの可能性がある列を非常に自由に使用できるため、nullになる可能性のあるデータベースデータ(OleDbDataReaderから)を大量に処理する必要があるため、これらのメソッドを作成しました。そして、私の生活を少し楽にするために、私はそれらの拡張メソッドを思いつきました。
私が知りたいのは、これが良いスタイルなのか、許容できるスタイルなのか、悪いスタイルなのかということです。Objectクラスを「汚染」するので、少し心配です。
よろしくお願いします:)
キリスト教徒
PS私はそれを意図的に「主観的」としてタグ付けしませんでした。