|
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
|
Übersetzung
Original
|
FlagsAttribute-Klasse
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Der FlagsAttribute-Typ macht die folgenden Member verfügbar.
| Name | Beschreibung | |
|---|---|---|
![]() ![]() ![]() ![]() | FlagsAttribute |
| Name | Beschreibung | |
|---|---|---|
![]() | TypeId |
| Name | Beschreibung | |
|---|---|---|
![]() ![]() ![]() ![]() | Equals | Infrastruktur. |
![]() ![]() ![]() ![]() | Finalize | |
![]() ![]() ![]() ![]() | GetHashCode | |
![]() ![]() ![]() ![]() | GetType | |
![]() | IsDefaultAttribute | |
![]() ![]() | Match | |
![]() ![]() ![]() ![]() | MemberwiseClone | |
![]() ![]() ![]() ![]() | ToString |
| Name | Beschreibung | |
|---|---|---|
![]() ![]() | _Attribute.GetIDsOfNames | |
![]() ![]() | _Attribute.GetTypeInfo | |
![]() ![]() | _Attribute.GetTypeInfoCount | |
![]() ![]() | _Attribute.Invoke |
Attribute von FlagsAttribute
Richtlinien für FlagsAttribute und Enum
Verwenden Sie das benutzerdefinierte FlagsAttribute-Attribut nur dann für eine Enumeration, wenn eine bitweise Operation (AND, OR, EXCLUSIVE OR) mit einem numerischen Werte ausgeführt werden soll. Definieren Sie Enumerationskonstanten in Potenzen von zwei, d. h., 1, 2, 4, 8 usw. Dies bedeutet, dass sich die einzelnen Flags in kombinierten Enumerationskonstanten nicht überschneiden. Sie sollten eine Enumerationskonstante für häufig verwendete Flagkombinationen erstellen. Wenn Sie z. B. über eine Enumeration für Datei-E/A-Vorgänge verwenden, die die Enumerationskonstanten Read = 1 und Write = 2 enthält, sollten Sie die Enumerationskonstante ReadWrite = Read OR Write erstellen, die das Read-Flag und das Write-Flag zusammenfasst. Außerdem könnte der zum Kombinieren der Flags verwendete bitweise OR-Vorgang in bestimmten Situationen als erweitertes Konzept angesehen werden, in denen einfache Aufgaben ausgeführt werden sollten. Seien Sie beim Definieren negativer Zahlen als Flagenumerationskonstanten umsichtig, da viele Flagpositionen auf 1 festgelegt werden, wodurch der Code verwirren und Codierungsfehler verursachen könnte. Ein Verfahren zum Testen, ob ein Flag in einem numerischen Wert festgelegt wurde, ist die Durchführung eines bitweisen AND-Vorgangs zwischen dem numerischen Wert und der Flagenumerationskonstante, bei dem alle numerischen Werte, die nicht dem Flag entsprechen, auf 0 (null) festgelegt werden. Testen Sie anschließend, ob das Ergebnis des Vorgangs gleich der Flagenumerationskonstante ist. Verwenden Sie als Namen der Flagenumerationskonstante None, dessen Wert 0 (null) ist. Sie können die None-Enumerationskonstante nicht in einem bitweisen AND-Vorgang zum Testen eines Flags verwenden, da das Ergebnis immer 0 (null) ist. Sie können aber einen logischen (nicht bitweisen) Vergleich des numerischen Werts und der None-Enumerationskonstante durchführen, um zu bestimmen, ob in dem numerischen Wert Bits festgelegt wurden. Wenn Sie eine Wertenumeration anstelle einer Flagenumeration erstellen, empfiehlt sich trotzdem das Erstellen einer None-Enumerationskonstanten. Der Grund hierfür ist, dass der für die Enumeration verwendete Speicher von der Common Language Runtime standardmäßig mit 0 (null) initialisiert wird. Daher enthält die Enumeration einen ungültigen Wert, wenn Sie sie erstellen, ohne eine Konstante zu definieren, deren Wert 0 (null) ist. Wenn für die Anwendung ein Standardwert erforderlich ist, sollten Sie für dessen Darstellung eine Enumerationskonstante verwenden, deren Wert 0 (null) ist. Wenn kein Standardwert erforderlich ist, sollten Sie eine Enumerationskonstante mit dem Wert 0 (null) verwenden. Damit wird der Fall dargestellt, für den keine anderen Enumerationskonstanten festgelegt wurden. Definieren Sie keinen Enumerationswert, um ausschließlich den Zustand der Enumeration selbst darzustellen. Definieren Sie beispielsweise keine Enumerationskonstante, die lediglich das Ende der Enumeration kennzeichnet. Wenn Sie den letzten Wert der Enumeration bestimmen müssen, überprüfen Sie diesen Wert explizit. Sie können des Weiteren eine Bereichsprüfung für die erste und letzte Enumerationskonstante durchführen, wenn alle Werte in dem Bereich gültig sind. Geben Sie keine Enumerationskonstanten an, die für die zukünftige Verwendung reserviert sind. Wenn Sie eine Methode oder Eigenschaft definieren, die eine Enumerationskonstante als Wert akzeptiert, sollten Sie den Wert validieren. Sie können dann einen numerischen Wert in den Enumerationstyp konvertieren, auch wenn der numerische Wert nicht in der Enumeration definiert ist.
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.


