Erreur du compilateur C3114
'argument' : non un argument d’attribut nommé valide
Pour qu’un membre de données de classe d’attribut soit un argument nommé valide, il ne doit pas être marqué static
, const
ou literal
. Si une propriété, la propriété ne doit pas être static
et doit avoir des accesseurs get et set.
Pour plus d’informations, consultez les propriétés et les attributs définis par l’utilisateur.
Exemple
L’exemple suivant génère l’erreur 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 {};