我正在尝试编写一个通用函数,该函数从用户字符串中获取值并尝试将其解析为枚举值,如下所示:
private Enum getEnumStringEnumType(Type i_EnumType)
{
string userInputString = string.Empty;
Enum resultInputType;
bool enumParseResult = false;
while (!enumParseResult)
{
userInputString = System.Console.ReadLine();
enumParseResult = Enum.TryParse(userInputString, true, out resultInputType);
}
}
但是我得到的是:
The type 'System.Enum' must be a non-nullable value type in order to use it as parameter 'TEnum' in the generic type or method 'System.Enum.TryParse<TEnum>(string, bool, out TEnum) .
这个错误意味着我需要为 resultInputType 声明一个特定的枚举类型吗?我该怎么修复它?谢谢。
Type
值而不是使其成为真正的通用方法吗? - Jon Skeet