我試圖建立通用的功能,從用戶的字符串獲得並嘗試將其解析到枚舉valuse這樣的:如何在Enum中使用泛型Tryparse?
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) .
的錯誤意味着,我需要decalare resultInputType的特定枚舉? 我該如何解決這個問題? 謝謝。
當你說「通用函數」 - 你的方法*不是*通用的。你是否需要能夠將類型指定爲「Type」值而不是將其作爲一種真正的通用方法? –