2011-01-12 123 views
0

我希望我的類中的屬性在設計時返回與運行時不同的值。我可以使用LicenseManager.UsageMode檢測到我處於設計模式,但將其從我的發佈版本中排除是很好的。在設計和運行時從屬性獲取不同的值

有沒有更好的方法來實現下面的代碼,或許使用Conditional屬性?

public int MyValue 
{ 
    get 
    { 
     int my_value = 10; 

#if DEBUG 
     if (LicenseManager.UsageMode == LicenseUsageMode.Designtime) 
     { 
      my_value = 20; 
     } 
#endif 

     return my_value; 
    } 
} 
+0

爲什麼不使用設計時屬性?它應該在屬性獲得者中具有正確的價值。 – 2011-01-12 16:36:28

回答

0

我認爲這將是你必須做的檢查。或者,如果這兩個程序是完全不同的程序,那麼您可以爲自定義變量執行相同的#if

因此,如果有兩個不同的版本,您可以設置自定義參數的構建和做到這一點:

public int MyValue 
{ 
    get 
    { 

#if DESIGN 
     return 20; 
#else 
     return 10; 
#endif 

    } 
}