小ネタ

デバッグしている時にステップインしなくてもいいようなコード(プロパティのget、setとか)にステップインされて
煩わしい思いをする事がよくある。

そんな時は「DebuggerStepThrough」属性を使うとデバッガがステップインするかどうかを制御する事ができる。

class Hoge {
    private string name;
    public string Name {
        [System.Diagnostics.DebuggerStepThrough]
        get { return name; }
        [System.Diagnostics.DebuggerStepThrough]
        set { name = value; }
    }
}

これでこのクラス全てのメソッドとプロパティはデバッガにステップインされなくなる。

また、この属性はプロパティには適用できないため、プロパティに適用しようとするとクラスに適用する必要がある。
メソッドには適用できる。