[Drapeaux] est assez pratique. Sucre syntaxique pour être sûr, mais encore assez jolie.
[Flags]
enum SandwichStuff
{
Cheese = 1,
Pickles = 2,
Chips = 4,
Ham = 8,
Eggs = 16,
PeanutButter = 32,
Jam = 64
};
public Sandwich MakeSandwich(SandwichStuff stuff)
{
Console.WriteLine(stuff.ToString());
// ...
}
// ...
MakeSandwich(SandwichStuff.Cheese
| SandwichStuff.Ham
| SandwichStuff.PeanutButter);
// produces console output: "Cheese, Ham, PeanutButter"
Leppie rappelle quelque chose que je n'avais pas réalisé, et qui plutôt amortit mon enthousiasme pour cet attribut: il n'est pas de demander au compilateur de permettre à peu les combinaisons de valeurs valides pour l'énumération des variables, le compilateur permet ce pour les énumérations, peu importe. Mon C++ arrière-plan montrant à travers... soupir