在大型專案中,開發人員通常需要區分偵錯版本和發布版本啟用或停用特定代碼段。兩種常見的方法是 #if DEBUG 和 Conditional("DEBUG")。
優點:
缺點:
Conditional("DEBUG") 屬性標記要依照 DEBUG 編譯符號有條件排除的方法或型別。但是,與 #if DEBUG 不同的是,程式碼仍然存在於 IL 中,但對該方法的呼叫會被最佳化,除非在編譯呼叫者時設定了 DEBUG。
優點:
缺點:
#if DEBUG 和Conditional("DEBUG")之間的選擇取決於項目的具體需求。
`
[條件("DEBUG")]
protected void verifyPropertyName(String propertyName)
{
// ... code to validate property name ...
}
`
此方法可確保在偵錯期間驗證屬性名稱,但在偵錯期間省略對其的呼叫發布版本。
`
public const String ENDPOINT = "Localhost";
public const String ENDPOINT = "BasicHttpBinding";
此常數根據 DEBUG 標誌進行不同的配置,允許偵錯和發布版本使用不同的通訊綁定。
至關重要請注意,對使用Conditional("DEBUG") 註釋的方法的調用將在編譯期間(而不是運行時)排除。這意味著從條件編譯程式集中對此類方法的任何呼叫都將永久刪除,即使在呼叫程式集中定義了 DEBUG。
以上是#if DEBUG 與 Conditional('DEBUG'):您應該為您的 C# 專案選擇哪種條件編譯技術?的詳細內容。更多資訊請關注PHP中文網其他相關文章!