在设计和运行时从属性中获取不同的值

时间:2011-01-12 16:31:12

标签: c# design-time

我希望班级中的某个属性在设计时返回与运行时不同的值。我可以使用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;
    }
}

1 个答案:

答案 0 :(得分:0)

我认为这将是您必须要做的检查。或者,如果这两个程序是您单独构建的完全不同的程序,则可以为自定义变量执行相同的#if

因此,如果有两个单独的构建,您可以为构建设置自定义参数并执行此操作:

public int MyValue
{
    get
    {

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

    }
}