2011-01-09 20 views

Antwort

27

Flags ist einfach abgekürzt für FlagsAttribute. In C# können Sie das Attribut "Attribut" eines Attributs belassen, wenn Sie es auf ein Element anwenden.

Wie für Flags selbst, ist alles, was es tut, die Enum als Flag-Mitglieder zu bezeichnen. Sie müssen weiterhin sicherstellen, dass die Elemente über Werte verfügen, die ordnungsgemäß kombiniert werden. Einige Framework-Funktionen, z. B. Enum.ToString, suchen nach dem Attribut flags, um zu bestimmen, wie der Wert interpretiert wird.

+4

Eine Möglichkeit, um sicherzustellen, dass die Werte "richtig kombinieren" sind, indem man bei 0 für 'none' beginnt, dann wird jeder Enum-Wert um eins nach links erhöht. ZB: 1 << 0' (1), '1 << 1 (2), 1 << 2 (4) usw. –