一年前の記事なんですが...今日気づいたのでメモメモ...
テスト用コードをデバッグ時にのみ実行するには?
#if DEBUG
何か処理
#endif
というのは知ってたのですが、カスタム定数でも指定できるのねん。
1)
プロジェクトのプロパティ→ビルド→カスタム定数に
CONDITION=1
としておいて、
2)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.DebugMethodTest()
End Sub
_
Public Sub DebugMethodTest()
Console.WriteLine("CONDITION1 は有効です")
End Sub
としておくと、(1)の定数の定義が無い時は、DebugMethodTest が走らない。
これは、
Public Sub DebugMethodTest()
#If CONDITION1 Then
Console.WriteLine("CONDITION1 は有効です")
#endif
End Sub
と同じ事。
#ちょっとかじっただけなんで、詳しくは解りませんが C++ なんかの #ifdef と同じようなイメージなのかしら...?
あとは、最近知ったのが、Obsolete 属性。
今まで、このメソッドをどこが使ってるか調べるのに、
一時的にメソッド名を変えて、タスクウィンドウに表示された箇所をつぶしていくか、
検索して探してつぶしていくかのどちらしか知らなかったのですが、
Obsolete 属性を使うと、なんと一発で使われているところが解るに加えて、
Obsolete 属性 の 引数によって、ビルドエラーにもできちゃうのだッ!
便利便利。
って知らなかったのは私だけかも...orz