Как объявить статическую переменную глобально? - PullRequest
0 голосов
/ 08 сентября 2018

Я создал статический класс и статическую переменную в одном из запускаемых проектов из решения.И я меняю значение, если пользователи вводят любое значение из пользовательского интерфейса, логика которого записана в другом проекте запуска в решении.Таким образом, проблема здесь в том, что когда я получаю доступ к значению статической переменной из другого запускаемого проекта, тогда значение / данные статической переменной не совпадают или извлекают ранее назначенное значение.

Мой статический класс,

namespace Platform.Models
{
   public static class PlatformConstants
   {
      public const string DefaultLogLevelValue = "Debug";
   }
}

Присваивание значения из пользовательского интерфейса или модели,

namespace Platform.Services.Data {
.....
PlatformConstants.DefaultLogLevelValue = incomingModel.LogLevel.Trim();

Выборка данных для проверки уровня журнала,

public static string LogLevelThreshold
{
     get { return PlatformConstants.DefaultLogLevelValue; }
}

Что здесь не так, почему я не могу получить последнее назначенное значение из другого проекта?

(Пример: рассмотрим проекты A & B и значение по умолчанию - «Предупредить». Теперь я присваиваю значение »Ошибка "из проекта А. Если я получаю статическое значение переменной из проекта А, это означает" Ошибка ", но значение равно" Предупреждать ", если я получаю значение из проекта В. Где я ошибся??)

1 Ответ

0 голосов
/ 08 сентября 2018

Чтобы установить значение для каждого проекта, более целесообразно использовать getter-setter. Действительно, константа для использования не должна быть изменена

Попробуйте использовать метод получения с использованием значения по умолчанию, например:

    public string DefaultLevelValue { get; set;  } ="Debug";

И вы устанавливаете свое значение с помощью пользовательского интерфейса:

    DefaultLevelValue =  incomingModel.LogLevel.Trim();

И вы можете получить правильное значение!

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