EDIT: C'est maintenant en direct dans la version 0.0.0.2 de UnconstrainedMelody.
(Comme demandé sur mon blog à propos de l'enum de contraintes. J'ai inclus la base des faits ci-dessous pour l'amour d'une réponse unique.)
La meilleure solution est d'attendre pour moi de l'inclure dans UnconstrainedMelody1. C'est une bibliothèque qui prend de code C# avec "faux" contraintes telles que
where T : struct, IEnumConstraint
et il se transforme en
where T : struct, System.Enum
par l'intermédiaire d'un postbuild étape.
Il ne devrait pas être trop dur à écrire IsSet
... bien que, de la restauration pour les deux Int64
-fondé et de l' UInt64
-en fonction des drapeaux pourrait être la partie difficile. (Je sens l'odeur de certaines méthodes d'aide à venir sur, fondamentalement, ce qui me permet de traiter tous les indicateurs enum comme si elle avait un type de base UInt64
.)
Que voudriez-vous le comportement de l'être, si vous l'avez appelé
tester.IsSet(MyFlags.A | MyFlags.C)
? Faut-il vérifier que tous les indicateurs spécifiés sont ensemble? Que seraient mes attentes.
Je vais essayer de le faire sur le chemin de la maison ce soir... j'espère avoir un rapide éclair sur utile enum méthodes pour obtenir la bibliothèque jusqu'à un standard utilisable rapidement, puis se détendre un peu.
EDIT: je ne suis pas sûr à propos de IsSet
comme un nom, par la manière. Options:
- Comprend
- Contient
- HasFlag (ou HasFlags)
- IsSet (c'est certainement une option)
Les pensées de bienvenue. Je suis sûr que ça va être un certain temps avant que rien n'est gravé dans la pierre de toute façon...
1 ou soumettre un patch, bien sûr...