Mi chiedo un modo generico per impostare tutti i bit del flag enum
su 1. Mi piacerebbe avere uno enum
che restituisce tutti i confronti, indipendentemente dalle altre enumerazioni.Come impostare tutti i bit di enum flag
E questo codice funziona;
[Flags]
public enum SomeRightEnum : uint
{
CanDoNothing = 0,
CanDoSomething = 1 << 0,
CanDoSomethingElse = 1 << 1,
CanDoYetAnotherThing = 1 << 2,
...
DoEverything = 0xFFFFFFFF
}
Ma al codice di cui sopra in quanto è uint abbiamo impostato il numero di s "F", che non avrebbe funzionato se fosse int
.
Così mi sarà utile un metodo generico per impostare tutti i bit di enum
bandiera a 1, indipendentemente dal tipo di dati (i
nt, int64
, uint
ecc)
Hmmm. L'intento delle enumerazioni è quello di descrivere opzioni mutuamente esclusive. Sembra che tu li stia usando come abbreviazione di un mucchio di maschere di bit. –
@AFgone Stai utilizzando l'attributo [Flags] sull'enum giusto? –
@Oli L'attributo [Flags] sull'enumerazione è progettato per questo scopo. –