Поделиться через


Ошибка компилятора C3114

"argument": недопустимый аргумент именованного атрибута

Чтобы член данных класса атрибутов был допустимым именованным аргументом, он не должен быть помечен static, constили literal. Если свойство, свойство не должно быть static и должно иметь методы доступа и задать их.

Дополнительные сведения см. в разделе свойств и пользовательских атрибутов.

Пример

Следующий пример приводит к возникновению ошибки C3114.

// C3114.cpp
// compile with: /clr /c
public ref class A : System::Attribute {
public:
   static property int StaticProp {
      int get();
   }

   property int Prop2 {
      int get();
      void set(int i);
   }
};

[A(StaticProp=123)]   // C3114
public ref class R {};

[A(Prop2=123)]   // OK
public ref class S {};