C # с использованием Conditional () с переменной окружения - PullRequest
6 голосов
/ 05 мая 2010

Как использовать атрибут Conditional («Condition1»), где «Condition1» - это переменная среды. Помощь говорит, что это можно сделать, но не говорит, как?

Ответы [ 3 ]

5 голосов
/ 05 мая 2010

Я считаю, что это то, что вы ищете http://yogesh.jagotagroup.com/blog/post/2008/03/01/CSharp-Conditional-attribute.aspx

Слово «переменная среды» относится к среде VS, а не к ОС или любой другой. Вы можете просто пометить свои классы или методы с помощью DEBUG или любой другой переменной; затем эти классы и методы все еще существуют при компиляции, но когда генерируется код IL, они просто пропускаются - в случае, если эта переменная не определена (как говорит пример).

Надеюсь, это поможет.

Pz, разработчик TaskConnect

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

Не уверен, что делает Conditional(string condition), но вы можете получить переменные среды, используя Environment.ExpandEnvironmentVariables .


Если вы говорите о условном атрибуте, вам не повезло. Этот атрибут оценивается в COMPILE TIME, на вашей машине разработки (или на сервере сборки). Это не влияет на RUNTIME, где вы захотите сделать что-то другое в зависимости от состояния компьютера пользователя (как указано в переменной среды).

Вы можете использовать ранее упомянутый метод класса Environment, чтобы определить, в теле метода, следует ли продолжать выполнение. Это, вероятно, ваш лучший выбор.

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

Вам не нужно ничего делать, кроме как создать переменную envionment (например, со значением 1) и затем ссылаться на нее по имени в условном атрибуте. Переменная будет должна быть создана в диалоговом окне «Переменные среды», доступном через вкладку «Дополнительно» диалогового окна «Свойства системы»; то есть вы не можете просто открыть командную строку и установить переменную там, так как это значение будет существовать только в этом приглашении и будет потеряно при закрытии приглашения.

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