Metoda TryParseEnum
Deti
W standardowej bibliotece .NET nie ma metody, która sprawdzałaby, czy można dany string zamienić na konkretny enum. Poniżej implementacja "brakującej" metody (dwie wersje, w razie potrzeby).
public static bool TryParseEnum<T>(string value, out T result) {
return TryParseEnum<T>(value, out result, StringComparison.CurrentCulture);
}
public static bool TryParseEnum<T>(string value, out T result, StringComparison comparison) {
result = default(T);
foreach(string item in Enum.GetNames(typeof(T))) {
if(item.Equals(value, comparison)) {
result = (T)Enum.Parse(typeof(T), value, true);
return true;
}
}
return false;
}
Nieprawda. Począwszy od wersji 1.0 .NET ma taką metodę.
I po sprawie.