如何在枚举属性中放置一个枚举数组?

时间:2013-07-24 20:17:45

标签: c# enums authorization

我正在尝试做这样的事情:

   [CustomAuthorize(Permissions = new[] { /*These are Enums */Permissions.CanChangeProducts.ToString(), Permissions.CanChangeNames.ToString()})]
    public ActionResult MyMethod()
    {
        return View();
    }

它给出错误:

错误5属性参数必须是属性参数类型的常量表达式,typeof表达式或数组创建表达式[...]

我已经设法将资源字符串放入验证属性,但我无法将此枚举(字符串)数组放入授权属性...我该怎么做?任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:4)

enum.Value | enum.Value | enum.Value

flags怎么样?

像这样:

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Constructor | AttributeTargets.Enum)]

修改顺便提一下,有一个非常有趣的答案:https://stackoverflow.com/a/270231/2524304