指定演员表无效。枚举

时间:2010-09-28 21:30:41

标签: c# asp.net

这段代码有什么问题,我也尝试Enum.Parse但是没有用。

public enum RoleNames  
{
    Administrator,
    [Description("Personnel Security")]
    PrsonalSecurity,
}

foreach (RoleNames roleName in arRoles) //<<<error
{
        if (IsCurrentUserInRole(roleName)) { return true; }
}

arRoles是RoleNames的ArrayList,它作为参数传递。

1 个答案:

答案 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
} 

发布您的确切代码。