[C#] 如何善用「偵錯模式」- 使用Conditional屬性設定
前幾天翻閱保哥的文章看到這一篇
如何善用「偵錯模式」進行 ASP.NET 網站或 .NET 程式開發
今天看到Conditional屬性設定和#if DEBUG的方法有異曲同工之妙
首先增加一個void方法
在該方法上方增加Conditional屬性如下
**要引用System.Diagnostics命名空間**
[Conditional("DEBUG")]
private void DebugMsg(string s)
{
MessageBox.Show(s);
}
假設我在Form Load裡呼叫該方法
private void Form1_Load(object sender, EventArgs e)
{
DebugMsg("Hello");
MessageBox.Show("World");
}
然後選擇Debug組態來建置啟動方案
關掉視窗
改以Release組態來啟動方案
上面可以看到加了[Conditional("DEBUG")]屬性的方法
在Release的時候就不會呼叫他了
(正確一點說就是編譯的時候會自動忽略這個方法的呼叫, 不過方法本身還是會被編譯進組件裡)
有興趣的人可以稍微看一下MSDN裡更詳細的說明
http://msdn.microsoft.com/zh-tw/library/aa664622%28VS.71%29.aspx