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