Tengo un montón de códigos que deben ejecutarse una vez durante la inicialización.Hacer un fusible con un booleano
tengo que usar una bandera booleana de esta manera porque está en un evento
bool _fuse;
void PerformLayout()
{
Size size;
if (!_fuse)
{
size = _InitialContainerSize;
_fuse = true;
}
else
size = parent.Size;
// ...
}
porque sucede a menudo, me hizo algo para que esta variable booleana para que parezca un fusible:
Así que hice esto:
bool _fuse;
void PerformLayout()
{
Size size;
if (!Burnt(ref _fuse))
size = _InitialContainerSize;
else
size = parent.Size;
// ...
}
Si se inicializa en false, el resultado de la consulta devuelve falsa una vez, hacer que el switc h verdadero, y las llamadas sucesivas devuelven verdadero.
public static bool Burnt(ref bool value)
{
if (!value)
{
value = true;
return false;
}
else
return true;
}
Por supuesto, funciona, pero solo estoy moderadamente satisfecho y estoy seguro de que hay soluciones más elegantes. ¿Cuál sería el tuyo?
'valor de retorno || ! (value = true); '(es una broma!) –
Interesante. Hasta ahora, el recuento es de tres votaciones y tres votos para cerrar. –
No es una pregunta real. Debería estar en un sitio de revisión de código. Aqui no. – leppie