Ho un sacco di pezzi di codice che devono essere eseguiti una volta durante l'inizializzazione.Esecuzione di un fusibile con una booleana
devo usare un flag booleano in questo modo, perché è in un evento
bool _fuse;
void PerformLayout()
{
Size size;
if (!_fuse)
{
size = _InitialContainerSize;
_fuse = true;
}
else
size = parent.Size;
// ...
}
Perché spesso accade, ho fatto qualcosa per rendere questa variabile booleana a guardare come un fusibile:
Così ho fatto questo:
bool _fuse;
void PerformLayout()
{
Size size;
if (!Burnt(ref _fuse))
size = _InitialContainerSize;
else
size = parent.Size;
// ...
}
Se viene inizializzato su false, il risultato della query restituisce falso una volta, fare la switc h su true e le chiamate successive restituiscono true.
public static bool Burnt(ref bool value)
{
if (!value)
{
value = true;
return false;
}
else
return true;
}
Naturalmente, funziona, ma sono solo moderatamente soddisfatto e sono sicuro che ci sia soluzioni più eleganti. Quale sarebbe il tuo?
'valore restituito || ! (value = true); '(sto scherzando!) –
Interessante. Finora il conto è composto da tre upvotes e tre voti da chiudere. –
Non è una domanda reale. Dovrebbe essere su un sito di codeview. Non qui. – leppie