Mam wiele kawałków kodu, które muszą być uruchamiane jeden raz podczas inicjowania.Ładowanie bezpiecznika z boolean
muszę użyć flagi wartości logicznej, w ten sposób, ponieważ jest to w przypadku
bool _fuse;
void PerformLayout()
{
Size size;
if (!_fuse)
{
size = _InitialContainerSize;
_fuse = true;
}
else
size = parent.Size;
// ...
}
Ponieważ zdarza się często, zrobiłem coś, aby ta zmienna boolean wyglądać jak bezpiecznikiem:
Więc zrobiłem tak:
bool _fuse;
void PerformLayout()
{
Size size;
if (!Burnt(ref _fuse))
size = _InitialContainerSize;
else
size = parent.Size;
// ...
}
Jeśli jest inicjowane fałszywy wynik zapytania zwraca false raz dokonać switc h do prawdziwego, a kolejne połączenia zwracają prawdę.
public static bool Burnt(ref bool value)
{
if (!value)
{
value = true;
return false;
}
else
return true;
}
Oczywiście działa, ale jestem tylko umiarkowanie zadowolony i jestem pewien, że są bardziej eleganckie rozwiązania. Jaki byłby twój?
'wartość zwracana || ! (value = true); '(tylko żartuję!) –
Interesujące. Do tej pory liczy się trzy przegrane i trzy głosy do zamknięcia. –
To nie jest prawdziwe pytanie. Powinien być na stronie codereview. Nie tutaj. – leppie