In C# kann man logische Operationen auf ganzzahligen Objekten bitweise ausführen. Die Bedeutung der logischen Operation per Bit ist, dass jedes Bit des zu bedienenden Objekts nacheinander genommen wird und das logische Operationsergebnis jedes Bit jedes Bit des Ergebniswerts ist. Die von C# unterstützten Bitlogikoperatoren sind in der folgenden Abbildung dargestellt:
Grundlegendes Berechtigungsdesign:
<summary>
///權限列舉 </summary> [FlagsAttribute] publicenumGenehmigungen
{ Beschreibung ("Nicht konfiguriert")] Kein=0, [Beschreibung ("Erstellen")] Create=1, [Beschreibung ("Lesen")] Read=2, [Beschreibung ("Update")] Update=4, [Beschreibung ("Löschen")] Delete=8, [Beschreibung ("Alle Merkmale")] All=Erstellen| Les| Aktualisierung| Löschen
}
Technik 1: Verwenden Sie den Leistungswert von 2 als Aufzählungswert für zukünftige Bitoperationen (&UND, |ODER, ^XOR).
Tipp 2: Füge der bestehenden Berechtigung eine neue Berechtigungsaktion hinzu. (OP-Operation)
Permissionspermissions=Permissions.None; Erlaubnis=Erlaubnis| Permissions.Create; MessageBox.Show(Berechtigung. ToString()); Ergebnis:Erstellen
Tipp 3: Fügen Sie das [FlagsAttribute]-Tag hinzu
Permissionspermissions=Permissions.None; Erlaubnis=Erlaubnis| Permissions.Create; MessageBox.Show(Berechtigung. ToString()); Result:Create([FlagsAttribute] beeinflusst das Ergebnis nicht)
Erlaubnis=Erlaubnis| Berechtigungen.Lesen; MessageBox.Show(Berechtigung. ToString()); Ergebnis: 3 ([FlagsAttribute] nicht hinzugefügt) Ergebnis:Erstellen,Lesen (fügen [FlagsAttribute] hinzu)
Tipp 4: Entferne eine bestimmte Berechtigungsaktion aus der bestehenden Berechtigung. (XOR- und AND-Computing-Anwendungen)
Permissionspermissions=Permissions.None; Erlaubnis=Erlaubnis| Permissions.Create; MessageBox.Show(Berechtigung. ToString()); Ergebnis:Erstellen
Erlaubnis=Erlaubnis| Berechtigungen.Lesen; Erlaubnis=Erlaubnis| Permissions.Update; MessageBox.Show(Berechtigung. ToString()); Ergebnis:Erstellen, Lesen, Aktualisieren
permission=(permission&(Permissions.All^Permissions.Read)); MessageBox.Show(Berechtigung. ToString()); Ergebnis:Erstellen,Aktualisieren
Tipp 5: Bestimmen Sie, ob Sie eine bestimmte Erlaubnis für die aktuelle Genehmigung (AND-Operation) haben.
Permissionspermissions=Permissions.None; Erlaubnis=Erlaubnis| Permissions.Create; MessageBox.Show(Berechtigung. ToString()); Ergebnis:Erstellen
Erlaubnis=Erlaubnis| Berechtigungen.Lesen; Erlaubnis=Erlaubnis| Permissions.Update; MessageBox.Show(Berechtigung. ToString()); Ergebnis:Erstellen, Lesen, Aktualisieren
permission=(permission&(Permissions.All^Permissions.Read)); MessageBox.Show(Berechtigung. ToString()); Ergebnis:Erstellen,Aktualisieren
boolIsCreatable=false; if((permission&Permissions.Create)==Permissions.Create)
{ IsCreatable=wahr;
} oder
{ IsCreatable=falsch;
} MessageBox.Show(IsCreatable.ToString()); Ergebnis: Wahr
|