簡體   English   中英

在.net桌面應用程序中啟用或禁用功能的最佳方法是什么?

[英]What's the best method to enable or disable a feature in a .net desktop application

使用配置文件可以在編譯時或在運行時。 有沒有比簡單(很多)if語句更優雅的方法?

我的目標是針對特定功能的UI控件集。

除非您的程序必須擠出100%的性能,否則請使用配置文件進行操作。 它將使您的代碼更整潔。

如果一個選項更改了代碼的許多部分,請不要編寫許多條件,而要編寫一個選擇要委派給哪個類的條件。 例如,如果首選項選擇TCP還是UDP,請讓您的條件實例化TcpProvider或UdpProvider,其余的代碼使用時要盡量避免混亂。

編譯器指令不那么靈活,但是在某些情況下它們是適當的。

例如,默認情況下,當您在VS.NET中以DEBUG模式進行編譯時,定義了“ DEBUG”符號...因此您可以執行

void SomeMethod()
{
    #if DEBUG
    //do something here
    #else
    //do something else
    #endif

}

這將導致僅編譯這些塊之一,具體取決於是否定義了DEBUG符號。

另外,您可以在項目屬性->生成->條件編譯符號中定義其他符號。

或者,通過命令行編譯器使用/ define:開關

也許我承擔了太多,但是:

switch (setting) {
  case "development": 
     dostuff;
     break
  case "production":
     dootherstuff;
     break;
  default:
     dothebeststuff;
     break;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM