【发布时间】:2013-07-01 08:57:57
【问题描述】:
我找到了一个非常基本的代码,如下所述,我无法让它在我的 c# windows Forms 解决方案中工作。我得到了错误:
'System.Enum.TryParse(string, out string)' 的最佳重载方法匹配有一些无效参数
-
参数 1:无法从 'System.Type' 转换为 'string'
public enum PetType { None, Cat = 1, Dog = 2 } string value = "Dog"; PetType pet = (PetType)Enum.TryParse(typeof(PetType), value); if (pet == PetType.Dog) { ... }
我不明白问题出在哪里。错误都在Enum.TryParse 行。有什么想法吗?
谢谢。
【问题讨论】:
-
Enum.TryParse(typeof(PetType), out value); -
TryParse 返回一个枚举,表示如果解析成功,您必须将 PetType 作为输出参数传递以获取结果
-
The best overloaded method match for 'System.Enum.TryParse(string, out string)' has some invalid arguments说明了一切。您推送的是Type和string,而不是string和out string。另外,返回值是bool,而不是enum,但你现在已经知道了。 -
@FabioMarcolini
TryParse return an enum你的意思是返回一个 bool,对吧? ;)
标签: c#