Avec enum sous .net le plus grand nombre que vous pouvez utiliser est ULong.
Cela signifie un maximum de 64 drapeaux.Lorsque vous utilisez flag (Enum) vous avez une limite de 64. Quelles sont les alternatives lorsque vous atteignez la limite?
Quelle serait l'alternative lorsque vous avez besoin de plus de 64 drapeaux?
Modifier
Désolé, j'oublié d'ajouter cette alternative qui fonctionne toujours avec opérations au niveau du bit au moins ces un; et et ou.
en utilisant Josh Einstein suggestion, je suis venu avec cela, est-ce logique?
class bitArrayFlag
{
private const int flagSize = 255; //allow X numbers of flags
public BitArray flag1;
public BitArray flag2;
public BitArray flagN;
public bitArrayFlag()
{
int flagPos = 0;
bool[] flagBit = new bool[flagSize];
flagBit[flagPos] = true;
flag1 = new BitArray(flagBit);
flagBit[flagPos] = false;
flagPos += 1;
flagBit[flagPos] = true;
flag2 = new BitArray(flagBit);
//...
//...
//...
flagBit[flagPos] = false;
flagPos += 1;
flagBit[flagPos] = true;
flagN = new BitArray(flagBit);
}
}
Une refonte? Que de nombreux drapeaux semblent trop complexes. –
jusqu'ici j'ai seulement 31 drapeaux, mais je veux juste m'assurer que j'ai un plan de secours prêt si c'est nécessaire – Fredou
YAGNI vient à l'esprit. Concentrez-vous sur les problèmes que vous avez. –