Conditional( "DEBUG" )
[Conditional( "DEBUG" )]アトリビュートをメソッドの上に書いておくと、メソッドがリリースの時にコンパイルに含まれないよ。
けれどVisual Express EditionだとデフォルトでDEBUGディレクティブが有効になっているからConditionalに関係なく実行されてしまう。
だからプロジェクトのプロパティからDEBUGディレクティブを無効にするんだけれど、それは面倒だ><。
//#define DEBUG //#undef DEBUG using System.Diagnostics; using System.Windows; namespace WpfApplication1 { /// <summary> /// Window1.xaml の相互作用ロジック /// </summary> public partial class Window1 : Window { /// <summary> /// コンストラクタ /// </summary> public Window1() { InitializeComponent(); this.Loaded += new RoutedEventHandler(Window1_Loaded); } /// <summary> /// 初期化時に実行する /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void Window1_Loaded(object sender, RoutedEventArgs e) { NewMethod(); debugMethod( "test" ); } /// <summary> /// 単純なコンソール文を出力する /// </summary> private void NewMethod() { Debug.WriteLine( "call Window1_Loaded." ); textBlock1.Text += "call Window1_Loaded.\n"; } /// <summary> /// [Conditional( "DEBUG" )]確認用メソッド /// </summary> /// <param name="pram"></param> [Conditional( "DEBUG" )] void debugMethod(string pram) { Debug.WriteLine( "call debugMethod." ); textBlock1.Text += "call debugMethod => " + pram + "\n"; } } }