Daily Archives: 2012年3月1日

[C#]クラスのプロパティに数値セット時、範囲外データの処理をシンプルに扱う

2012年3月1日 (カテゴリ: C#:)

クラスのプロパティに数値をセットする際、値として有効な範囲が決まっている場合があります。 範囲外の値が指定された場合は例外を投げるというのも1つの実装ですが、例外ではなく上下限値が指定されたとみなしたい場合はどうやって実装するとシンプルになるでしょうか? 例えば0~100の値が有効値で、負の数が指定された場合は0、100以上の値が指定された場合は100とみなしたい場合、以下のように記述するとすっきりします。 private int _Value; public int Value { set { // 指定値をセット(但し有効範囲は,0~100のみ) this._Value…


続きを読む

[C#]関数の呼び出し元のメソッド名を知る方法

2012年3月1日 (カテゴリ: C#:)

下記のようにStackTraceクラスを使用することで、関数の呼び出し元を知ることが出来ます。 通常、関数は呼び出し元が誰であるかに依存せずに動作する必要がありますが、ログ出力を自作する場合等では便利かもしれません。 private static string GetCallerMethodName() { System.Diagnostics.StackTrace stack = new System.Diagnostics.StackTrace(false); return stack.GetFrame(2).GetMethod&#…


続きを読む