Как я могу получить поведение предпочтения переменных среды пользователя, а затем компьютера, которое можно ожидать в c#? - PullRequest
0 голосов
/ 09 января 2020

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

Полагаю, я могу написать код, чтобы просто проверить пользователя и, если он нулевой, то go для машины, но это кажется неудачным окольным путем сделать что-то, о чем я думал, что операционная система должна была позаботиться обо мне - как правильно переложить эту ответственность на ОС?

Ниже приведено то, что я мог бы использовать для получения переменной окружения, но мне кажется утомительным, когда я считаю, что ОС должна справиться с этим.

var FooVariable = 
  Environment.GetEnvironmentVariable("Foo", EnvironmentVariableTarget.User) ??
  Environment.GetEnvironmentVariable("Foo", EnvironmentVariableTarget.Machine);
...