クラスはシンプルが良い(Utility編)

Logic系クラスが提供するメソッドとは違い、「あれしてこれしてそれもする」なんていうメソッドはいらない。
できるだけ1つのメソッドには、1つの目的を達成させる。まあ、多くて2つくらいか。
自分が好んで使うメソッドとして、文字列に関するメソッドがある。

public static class Utils {

/// <summary>
/// 指定されたオブジェクトを文字列で取得します。
/// </summary>
/// <typeparam name="T">オブジェクトの型宣言</typeparam>
/// <param name="obj">オブジェクト</param>
/// <returns>文字列</returns>
public static string ToString<T>(T obj) {
if (obj == null) {
return string.Empty;
} else if (obj is String) {
return obj as string;
} else {
return obj.ToString();
}
}
}

メソッドの目的はコメントに書かれている通り、引数を文字列に変換するだけ。
なんの役に立つのか?
いちいちnullチェックしなくて良い
 ≒絶対にnull参照エラーが発生しないという保証が得られる

特にstringクラスが持っているメソッドを使う時に重宝する。

string DoUpper(string str) {

if (string.IsNullOrEmpty(str)) {
str = string.Empty;
} else {
str = str.ToUpper();
}
return str;
}

とする所が、

void DoUpper(string str) {
return Utils.ToString(str).ToUpper();
}

となる。データベースのテーブルレコードから検索した際にトリム(余白削除)したい時によく使う。
このメソッドさえ使えば、絶対にnullを参照しないので、安心してメソッドを呼べる。
書式にこだわらないのであれば、stringクラス以外でも使える。
「出入口はシンプルに」を地でゆくメソッドなので、お気に入りだ。
全てのユーティリティ系メソッドがこうであれば、良いんだけど、そう話は上手くないんだよなぁ。
スポンサーサイト
当サイトは基本をすっ飛ばしてます。基本文法等は、@ITをどうぞ
カテゴリー: C# | コメント: 0 | トラックバック: 0


この記事へのコメント

コメントの投稿

非公開コメント


サイドバー背後固定表示サンプル

当ブログに書かれたソースコードは流用自由です。

バグ、スペルミス等はありうる事です。

ご利用の際は自己責任でお願いしますm(_ _)m