[英]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.