Атрибут резервного свойства в первичном конструкторе класса

Как добавить атрибут в свойство поддержки, созданное компилятором, для параметра в первичном конструкторе класса C# 12?

Я пытался:

      class C([field: JsonIgnore] int X) { 
  int F() => X +1; 
}

Но я получаю предупреждение

предупреждение CS0657: «поле» не является допустимым местоположением атрибута для этого объявления. Допустимые местоположения атрибутов для этого объявления — «param». Все атрибуты в этом блоке будут игнорироваться.

И атрибут игнорируется, то же самое для[property: JsonIgnore].

(использование [param: ..] помещает атрибут в параметр ctor, а это не то, что мне нужно)

(также обратите внимание, что я пытаюсь избежать явного определения поля в классе)

Обратите внимание, что я могу добиться почти того же самого с записями, см.

0 ответов

Другие вопросы по тегам