Erro do Compilador C3114
'argument': não é um argumento de atributo nomeado válido
Para que um membro de dados de classe de atributo seja um argumento nomeado válido, ele não deve ser marcado static
, const
ou literal
. Se uma propriedade, a propriedade não deve ser static
e deve ter acessadores obtidos e definidos.
Para obter mais informações, consulte propriedade e Atributos Definidos pelo Usuário.
Exemplo
O exemplo a seguir gera 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 {};