这段代码有什么问题,我也尝试Enum.Parse
但是没有用。
public enum RoleNames
{
Administrator,
[Description("Personnel Security")]
PrsonalSecurity,
}
foreach (RoleNames roleName in arRoles) //<<<error
{
if (IsCurrentUserInRole(roleName)) { return true; }
}
arRoles是RoleNames的ArrayList,它作为参数传递。
答案 0 :(得分:1)
您可以发布其余代码,因为以下示例可以正常运行:
public enum RoleNames
{
Administrator,
[Description("Personnel Security")]
PersonalSecurity
}
RoleNames[] testEnumArray =
{ RoleNames.Administrator, RoleNames.PersonalSecurity };
foreach (RoleNames en in testEnumArray)
{
// do something
}
根据您的错误消息,arRoles
不能是RoleNames
的数组,因为转换失败。
如果要迭代枚举定义,可以使用以下代码:
foreach (RoleNames type in Enum.GetValues(typeof(RoleNames))
{
// do something
}
发布您的确切代码。