Dlaczego Enum.Parse () zwraca obiekt?

Istnieje wiele pytań dotyczących konwertowania ciągów znaków na wartości wyliczeniowe. Ogólnie odpowiedź wygląda jak odpowiedzi nato pytanie:

StatusEnum MyStatus = (StatusEnum) Enum.Parse( typeof(StatusEnum), "Active", true );

Chociaż jest to całkowicie rozsądna odpowiedź i możesz napisać metodę upraszczającą wywołanie, nie odpowiada ona na pytanieczemu Enum.Parse () zwracaobject zamiast odpowiedniej wartości wyliczeniowej. Dlaczego muszę go rzucaćStatusEnum?

Edytować:

Zasadniczo pytanie brzmi: dlaczego taka funkcja nie jest częścią klasy Enum?

    public static T Parse<T>(string value) where T: struct 
    {
        return (T)Enum.Parse(typeof (T), value);
    }

Ta funkcja działa doskonale, robi dokładnie to, czego można oczekiwać.StatusEnum e = Enum.Parse<StatusEnum>("Active");.

questionAnswers(4)

yourAnswerToTheQuestion