Я получаю эту ошибку,
ошибка CS0182: аргумент атрибута должен быть выражением константы, выражением typeof или выражением создания массива типа параметра атрибута
Когда я пытаюсь написать что-то вроде этого
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
public class UrlAttribute : Attribute
{
public UrlAttribute(string pattern, string name=null)
{
// ...
Он даже не показывает номер строки, но исчезает, когда я вынимаю этот =null
бит.
На самом деле, ошибка возникает и только тогда, когда я предоставляю значение по умолчанию и полагаются на него (т.е. я его опускаю), например
[Url("/index")]
Мне любопытно узнать, почему это? Как «ноль» не является константным выражением?