2011-01-12 77 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 

    } 
}