Как я использую Условное выражение ("Condition1") атрибут, где "Condition1" является переменной среды. Справка говорит, что может быть сделана, но не говорит как?
Не уверен, что Условный ( строковое условие)
выполняет, но вы можете получить переменные среды, используя Environment.ExpandEnvironmentVariables .
Если вы говорите о ConditionalAttribute, вам не повезло. Этот атрибут оценивается во ВРЕМЯ КОМПИЛЯЦИИ на вашем компьютере разработки (или на сервере сборки). Это не действует в RUNTIME, где вы захотите сделать что-то другое в зависимости от состояния компьютера пользователя (как указано переменной среды).
Вы можете использовать ранее упомянутый метод класса Environment
, чтобы определить в теле метода, следует ли вам продолжать выполнение. Вероятно, это ваш лучший выбор.
Я думаю, это то, что вы ищете http://yogesh.jagotagroup.com/blog/post/2008/03/01/CSharp-Conditional-attribute.aspx
Слово "переменная окружения" относится к окружению VS, а не к ОС или любому другому. Вы можете просто пометить свои классы или методы DEBUG или любой другой пользовательской переменной; тогда эти классы и методы все еще существуют при компиляции, но когда генерируется IL код, они просто пропускаются - в случае, если эта переменная не определена (как сказано в примере).
Надеюсь, это поможет.
Pz, разработчик TaskConnect
Вам не нужно делать ничего, кроме как создать переменную окружения (например, со значением 1) и затем ссылаться на нее по имени в ConditionalAttribute. Переменная будет должна быть создана в диалоге "Переменные среды", доступном через вкладку "Дополнительно" диалога "Свойства системы"; т.е. вы не можете просто открыть командную строку и установить переменную там, поскольку это значение будет существовать только в этой строке и будет потеряно, когда строка будет закрыта.