Теперь, когда у нас есть ограничение перечисления, почему компилятор не позволяет мне написать этот код?
public static TResult? ToEnum<TResult>(this String value, TResult? defaultValue)
where TResult : Enum
{
return String.IsNullOrEmpty(value) ? defaultValue : (TResult?)Enum.Parse(typeof(TResult), value);
}
Компилятор говорит:
Ошибка CS0453 Тип "TResult" должен быть невообразимым типом значения, чтобы использовать его как параметр "T" в родовом типе или методе "Nullable"