Nel .NET Framework 4.0 sono presenti nuove funzionalità anche per la classe Enum. Troviamo infatti ora anche i nuovi metodi HasFlag e TryParse. Il primo consente di sapere se un valore Enum combinato ne contiene un altro. Infatti con l'operatore bitwise è possibile assegnare ad una variabile più valori di un enum in maniera combinata, ad esempio:
Mese m = Mese.Luglio | Mese.Agosto;
In questo caso la variabile m conterrà il valore combinato Luglio / Agosto. Se ora ad esempio volessimo sapere se questa variabile contiene il valore Marzo, potremmo utilizzare proprio il metodo HasFlag per testare la variabile:
if( m.HasFlag( Mese.Marzo))
{
// ...
}
Ovviamente in questo caso il risultato sarà false perchè la variabile m non contiene il valore Marzo. HasFlag può essere applicato ad un Enum solo se questo è stato marcato con l'attributo [Flags].
Il metodo TryParse consente invece di eseguire il parsing di una stringa per capire se questa può essere convertita nel valore di un Enum:
Mese m;
if (Enum.TryParse("Luglio", out m))
{
// ...
}
Od anche un valore combinato:
Mese m;
if (Enum.TryParse("Luglio,Agosto", out m))
{
// ...
}
Se il parsing ha successo m conterrà il valore esaminato.
Se vuoi aggiornamenti su OS inserisci la tua email nel box qui sotto: