Статические переменные должны быть заменены перечислениями?

Поэтому вместо добавления всплывающей подсказки внутри plotOptions просто переместите tooltip к основному объекту. И удалите его из plotOptions.

13
задан Spoike 29 January 2009 в 10:32
поделиться

7 ответов

Перечисления вводятся.

Таким образом, если у Вас есть метод, куда необходимо передать определенное 'состояние' методу, например, можно только передать 'допустимые' аргументы. Например:

enum OrderState 
{
  pending = 1,
  shipped = 2
}

public IList<Order> GetOrdersInState( OrderState )
{
}

Это - хороший пример - по-моему-скромному-мнению, использования перечислений. Когда OrderState является интервалом, для которого Вы создаете 2 константы ints, Вы не имеете никакого ограничения и можете передать недопустимые значения. Компилятор не будет жаловаться.

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

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

8
ответ дан 1 December 2019 в 21:53
поделиться

Нет, Как Вы определяете статические строковые переменные или десятичные значения в перечислении?

2
ответ дан 1 December 2019 в 21:53
поделиться

возвратитесь, "Это логически множество значений"? "Перечисление является соответствующим": "Статическая константа прекрасна"

(Я - большой поклонник логически последовательный),

12
ответ дан 1 December 2019 в 21:53
поделиться

Я не думаю это CANELLATION_LIMIT походит на перечисление, которое обычно является рядом выбора.

Для чего-то другого, если это был a const, затем, возможно..., но в настоящее время это - изменяемое поле?

Обратите внимание, что перечисления ограничены основанными на целом числе типами, таким образом, это не может использоваться для float, string, и т.д.

1
ответ дан 1 December 2019 в 21:53
поделиться

Для неизменных значений, предназначенных, чтобы быть уникальными, перечисления являются способом пойти. Вопрос спросить прост: должен объектно-ориентированная память само значение, даже статически? Во многих случаях, такой, описывая ошибки или действие, ответ нет. Помните, перечисления родился как замена для #define: это связывает типичные значения с идентификаторами, и это обеспечивает тип, это на самом деле не говорит, "хранят эту константу здесь".

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

1
ответ дан 1 December 2019 в 21:53
поделиться

Я думаю, что необходимо использовать перечисления, если Вам соединили множество значений непосредственно.

Что-то как: перечислимое Состояние {Открытый = 1, Закрытый =2, Waiting=3};

Для всего остального я сказал бы, что статические переменные являются способом пойти.

0
ответ дан 1 December 2019 в 21:53
поделиться

Я не знаю, что это - антишаблон, чтобы иметь статические переменные в классе (?). Например, Цветной класс в платформе .NET имеет много статических общедоступных переменных, таких как Цвет. Красный. Так, с той точки зрения я согласился бы с Вами.

Однако может быть компромисс: используйте частную константу CANCELLATION_LIMIT = 2; и оба из Вашего должны быть счастливыми. Для него не будет никакой глобальной переменной для класса (?), поскольку consts будет заменен компилятором, и Вы поймете единственную мысль изменения с ясным именем.

0
ответ дан 1 December 2019 в 21:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: