我记得过去曾在enum
语句中使用switch
,根据C# how to use enum with switch我正在以正确的方式进行操作。但是我刚刚尝试再次这样做,我收到了以下错误:
' ApplicationMode'是一种'类型'但是用作变量'。
这是我正在使用的代码:
public static enum ApplicationMode
{
Edit,
Upload,
Sync,
None
}
private void edit_Click(object sender, EventArgs e)
{
switch(ApplicationMode) // This is where I see the error.
{
case ApplicationMode.Edit:
break;
...
}
}
我做错了什么?
答案 0 :(得分:4)
问题1:枚举默认为静态,因此请勿将其声明为static
。
解决方案1:您需要删除枚举声明中的static
关键字
public enum ApplicationMode
{
Edit,
Upload,
Sync,
None
}
问题2: switch
案例中您需要提供包含任何有效枚举值ApplicationMode
的枚举[Edit,Upload,Sync,None]
变量,但您试图提供enum
类型ApplicationMode
本身。
解决方案2:提供包含任何有效值的枚举ApplicationMode
变量。
试试这个:
ApplicationMode appMode = ApplicationMode.Upload; //assign any value
switch(appMode)