【发布时间】:2016-08-05 22:55:45
【问题描述】:
我有一个名为GetRole() 的静态方法,它返回一个字符串值。
现在我想使用属性参数来调用它。
例如:
[Authorize(Roles = GetRole())]
public ActionResult Get()
{
}
public static string GetRole()
{
return "Admin";
}
但编译器出现以下错误:
属性参数必须是属性参数类型的常量表达式、typeof表达式或数组创建表达式
请帮我调用属性中的方法。
【问题讨论】:
-
你不能。只接受可以在编译时解析的参数值。
-
属性不存储为代码,它们存储为元数据 - 这就是为什么您只能在其中使用有限范围的构造。
标签: c# asp.net methods attributes