Флаги C # против FlagsAttribute - PullRequest
18 голосов
/ 09 января 2011

В чем разница между использованием Flags и FlagsAttribute с перечислением?

1 Ответ

27 голосов
/ 09 января 2011

Flags - это просто сокращение для FlagsAttribute. В C # вы можете оставить суффикс «Атрибут» вне атрибута, когда применяете его к элементу.

Что касается самого Flags, все, что он делает, это обозначает enum как имеющий члены flags. Вы все еще должны убедиться, что члены имеют значения, которые правильно объединяются. Некоторые каркасные функции, такие как Enum.ToString, будут искать атрибут flags, чтобы определить, как интерпретировать значение.

...