[英]Why isn't my enum working in the switch statement?
我记得在过去的switch
语句中使用过enum
,根据C#如何将inum与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;
...
}
}
我做错了什么?
问题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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.