spi*_*e.y 0 .net c# enums switch-statement
我记得过去enum
在语句中使用 s 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;
...
}
}
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
问题 1:枚举默认是静态的,所以不要将它们声明为static
.
解决方案1:需要删除static
枚举声明中的关键字
public enum ApplicationMode
{
Edit,
Upload,
Sync,
None
}
Run Code Online (Sandbox Code Playgroud)
问题 2:如果switch
您需要提供ApplicationMode
包含任何有效枚举值的枚举变量[Edit,Upload,Sync,None]
,但您试图提供enum
类型ApplicationMode
本身。
解决方案 2:ApplicationMode
提供包含任何有效值的枚举变量。
尝试这个:
ApplicationMode appMode = ApplicationMode.Upload; //assign any value
switch(appMode)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2159 次 |
最近记录: |