Получение различных значений из свойства при проектировании и во время выполнения

Я хотел бы, чтобы свойство в моем классе возвращало другое значение во время разработки, чем во время выполнения. Я могу определить, что я нахожусь в режиме разработки, используя LicenseManager.UsageMode, но было бы неплохо исключить это из моих сборок Release.

Есть ли лучший способ реализовать следующий код, возможно, с использованием Conditional приписать как-нибудь?

public int MyValue
{
    get
    {
        int my_value = 10;

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

        return my_value;
    }
}

1 ответ

Я думаю, что это будет проверка, которую вы должны сделать. Или, если две совершенно разные программы, которые вы создаете отдельно, вы можете сделать то же самое #if для ваших пользовательских переменных.

Поэтому, если есть две отдельные сборки, вы можете установить пользовательский параметр для сборки и сделать это:

public int MyValue
{
    get
    {

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

    }
}
Другие вопросы по тегам