【发布时间】:2010-08-09 01:35:38
【问题描述】:
我收到了这个错误,
错误 CS0182:属性参数必须是属性参数类型的常量表达式、typeof 表达式或数组创建表达式
当我尝试写这样的东西时
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
public class UrlAttribute : Attribute
{
public UrlAttribute(string pattern, string name=null)
{
// ...
它甚至没有显示行号,但是当我取出 =null 位时它就消失了。
实际上,只有当我提供默认值并且像这样依赖它(即我省略它)时,才会发生错误both
[Url("/index")]
我很想知道这是为什么? “null”怎么不是常量表达式?
【问题讨论】:
-
我收到了来自 Microsoft 的反馈,并相应更新了我的回复。
-
@kbrimington:感谢您的更新!听起来我们必须在修复发布之前等待......哦,这并不重要:)
-
object name=null 也会出现这个错误。
-
从 Visual Studio 2012 Update 3 开始,正在构建 .net 4.0 项目 - 这个问题仍然存在。
-
这个错误在 VS 2013 中仍然存在
标签: c# attributes