C# Будет ли "WindowState.ToString" меняться между культурами

Возьмите следующий код для примера;

    if (Convert.ToString(frm.WindowState) == "Minimized")
        Layout.WindowState = "Maximized";
    else
        Layout.WindowState = Convert.ToString(frm.WindowState);

Мы анализируем строковое определение состояния окна, т.е. "свернуто".

Будет ли это описание строки меняться между культурами?

Наконец, хотя в этом коде есть ли Enum, который мы могли бы использовать для проверки состояния окна?

Можем ли мы провести рефакторинг этого сегмента кода?

3 ответа

Решение

WindowStateзначение является перечислением - System.Windows.Forms.FormWindowState, Просто сравните с константами перечисления, пропустите ToString() безумие.

Он не должен меняться в зависимости от культуры, поскольку он просто превращает имя Enum в строку. Имя enum не меняется, если вы используете другую культуру.Net/Windows/IDE, поэтому оно останется таким, каким оно было изначально написано.

WindowState - это перечисление.

Я предлагаю использовать хорошую IDE (Visual Studio fe), которая сделает подобные детали очевидными.

System.Windows.WindowState

Другие вопросы по тегам