我是enum的新手。
我有这个枚举:
public enum Categories
{
Animals,
Animations,
Accessories,
Apearance,
Clothing,
Gadgets,
Land,
Scripts,
Vehicles,
Weapons,
Other
}
然后我有这个变量:private Categories Category;
我正在尝试解析用户输入(字符串),以便Category
等于正确的枚举。
this.Category = Enum.Parse(Categories ,cat);
我得到了这个错误:
'Product.Categories' is a 'type' but is used like a 'variable'
我希望你能理解我想说的话。
答案 0 :(得分:4)
要使Type
对象与Enum.Parse()
之类的方法一起使用,请使用类型名称为typeof
的运算符。您还需要执行从object
(它返回)到您的枚举的强制转换:
this.Category = (Categories) Enum.Parse(typeof(Categories), cat);
答案 1 :(得分:3)
通过typeof(Categories)
代替Categories
并添加演员,如下所示:
this.Category = (Categories)Enum.Parse(typeof(Categories), cat);
这假设this.Category
属于Categories
类型,并且是必需的,因为Enum.Parse
会返回类型object
的值。