Система.Конфигурация.DefaultSettingValueAttribute

#.net #configuration #system

#.net #конфигурация #система

Вопрос:

 [global::System.Configuration.DefaultSettingValueAttribute("s")]
  

Строка "s" должна быть постоянной. Как я могу передать переменную string?

Я имею в виду, я хочу, чтобы это было так:

 [global::System.Configuration.DefaultSettingValueAttribute(s1 "s")]
  

и s1 является строкой.

Ответ №1:

Вы не можете. Как говорится в сообщении об ошибке, параметр атрибута должен быть постоянным значением, известным во время компиляции.

Комментарии:

1. хорошо, есть ли способ или другой атрибут, который выполняет ту же роль и принимает переменную string?

2. или я могу задать условие if else?

3. Это не ограничение атрибута DefaultSettingValueAttribute — компилятор позволит вам передавать атрибуту только значение, известное во время компиляции. Передаваемые вами значения компилируются в сборку. Может быть, вам нужно что-то сделать в вашем конструкторе класса настроек?