constantes?.
Es parte de su funcionalidad, pero solo parte.
Cada dato tipo bool ocupa, sino estoy mal, 32 bits asi que has la cuenta e ncuanto estas gastando haciendolo con el struct que mencionas.
Mi sugerencia es que uses una enum porque sera lo suficientemente claro asi como lo suficientemente eficiente para que te ahorres un poco de vainas.
Ahora por otro lado puedeshacer algo aun mas eficiente aunque con mayor esfuerzo de tuparte, puedes usar un dato tipo int de 32 bits ya con ese puedes almacenar en cada bit los 32 registros booleanos, para tal fin utiliza operaciones binarias como
|
&
Puedes hacer un componente que te facilite ese tipo de operaciones.
ejemplo de enum:
public enum ValoresBooleanos
{
valUno = 0x1,
valDos = 0x2,
valTres= 0x4,
...
...
};
...
...
...
ValoresBooleanos miEnum;
//Activar el campo 1 en true:
miEnum = ValoresBooleanos.valuno;
//ahora activar el campo 2
miEnum |= ValoresBooleanos.valDos;
...
...
...
//Desactivar el valor de campo1
miEnum &= ~ValoresBooleanos.valuno;
Muy parecido, aunque más óptimo seria utilizar una variable entera.
Salu2