Chciałbym stworzyć ogólną metodę konwersji dowolnego typu pochodnego System.Enum na odpowiadającą mu wartość całkowitą, bez rzutowania, a najlepiej bez analizowania ciągu.
Np. Chcę coś takiego:
// Trivial example, not actually what I'm doing.
class Converter
{
int ToInteger(System.Enum anEnum)
{
(int)anEnum;
}
}
Ale to nie działa. Resharper zgłasza, że nie można rzutować wyrażenia typu „System.Enum” na typ „int”.
Teraz wymyśliłem to rozwiązanie, ale wolałbym mieć coś wydajniejszego.
class Converter
{
int ToInteger(System.Enum anEnum)
{
return int.Parse(anEnum.ToString("d"));
}
}
Jakieś sugestie?