Xyz*_*Xyz 3 asp.net enums case switch-statement
嗨我使用转换为带开关的字符串的枚举,但它不起作用.它给出了编译错误:无法将类型'userControl_commontop.UserType'隐式转换为'string'
代码是:
private void CommonTopChangesnew(string usertype)
{
switch (usertype.Trim().ToUpper())
{
case UserType.NORMAL :
hlkSAD.Enabled = false;
hlkMRTQuery.Enabled = false;
hlkReqViewer.Enabled = false;
hlkSendnotif.Enabled = false;
break;
case UserType.POWER :
hlkSAD.Enabled = false;
hlkReqViewer.Enabled = false;
hlkSendnotif.Enabled = false;
break;
}
}
enum UserType
{
NORMAL,
POWER,
ADMINISTRATOR
}
Run Code Online (Sandbox Code Playgroud)
枚举不是字符串,只是一个常量const int MY_VALUE = 1;
是一个字符串.
您应该将您的字符串更改为枚举:
switch ((UserType)Enum.Parse(usertype, typeof(UserType))) {
...
}
Run Code Online (Sandbox Code Playgroud)
你应该试试这个:
enum UserType
{
NORMAL,
POWER,
ADMINISTRATOR
}
private void CommonTopChangesnew(string usertype)
{
switch ((UserType)Enum.Parse(typeof(UserType), usertype, true))
{
case UserType.NORMAL:
hlkSAD.Enabled = false;
hlkMRTQuery.Enabled = false;
hlkReqViewer.Enabled = false;
hlkSendnotif.Enabled = false;
break;
case UserType.POWER:
hlkSAD.Enabled = false;
hlkReqViewer.Enabled = false;
hlkSendnotif.Enabled = false;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5731 次 |
最近记录: |