C # специфические свойства - PullRequest
0 голосов
/ 26 мая 2010

Могу ли я сделать что-то вроде этого:

Configs.Environment.Development;

В настоящее время я делаю что-то вроде этого:

Configs.Environment == "DEV";

Меня не особо волнуют строки, но я не знаю, как установить «определенные» свойства или, если это возможно.

Ответы [ 5 ]

3 голосов
/ 26 мая 2010

Вы говорите о перечислениях?

public enum Environment
{
    Development,
    Test,
    Live
}


Configs.Environment = Environment.Development;
1 голос
/ 26 мая 2010

Это похоже на то, что лучше обрабатывается директивой препроцессора:

#if debug
/* etc */
#elseif production
/* etc */
#endif
0 голосов
/ 26 мая 2010

Хотите, чтобы настройки вступили в силу только во время компиляции или во время выполнения? Хотите ли вы, чтобы ваш пользователь мог выбирать другие параметры после развертывания?

Если вы хотите установить только время компиляции, тогда вам нужна директива препроцессора.

Если вам нужны настройки времени выполнения, .NET имеет прямую поддержку файлов .config, и вы можете получить доступ к значениям в вашем коде (и задать их тоже) через конструкции Settings.Default .

VisualStudio поддерживает простое создание и обслуживание этих файлов конфигурации.

0 голосов
/ 26 мая 2010

Да.

 public static class Configs{
         public static class Environment{
              public static readonly string Development="DEV";
          }

  }

Но вы, вероятно, хотите ENUMS и использовать фабрику для установки своих констант.

0 голосов
/ 26 мая 2010

Вы можете сделать это, сделав Environment перечислением или сделав Development статической строкой только для чтения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...