Почему Enum.Parse () возвращает объект?

Здесь много вопросов о преобразовании строк в перечислимое значение. Как правило, ответ выглядит примерно так:этот вопрос:

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

Хотя это вполне разумный ответ, и вы можете написать метод для упрощения вызова, он не отвечает на вопрос оwhy Enum.Parse () возвращаетobject вместо соответствующего значения enum. Почему я должен бросить его наStatusEnum?

Edit:

По сути, вопрос в том, почему такая функция не является частью класса Enum?

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

Эта функция работает отлично, выполняет именно то, что вы ожидаете.StatusEnum e = Enum.Parse<StatusEnum>("Active");.

Ответы на вопрос(4)

Ваш ответ на вопрос