Erreur du compilateur CS0546
'accesseur' : substitution impossible, car 'propriété' n’a pas d’accesseur set substituable
La tentative de substitution de l’une des méthodes d’accesseur d’une propriété a échoué, car l’accesseur ne peut pas être substitué. Cette erreur peut se produire si :
la propriété de classe de base n’est pas déclarée comme virtual;
la propriété de classe de base ne déclare pas l’accesseur get ou set que vous voulez remplacer.
Si vous ne voulez pas remplacer la propriété de classe de base, vous pouvez utiliser le mot clé new avant la propriété dans une classe dérivée.
Pour plus d'informations, consultez Using Properties.
L’exemple suivant génère l’erreur CS0546, car la classe de base ne déclare pas un accesseur set pour la propriété.
// CS0546.cs
// compile with: /target:library
public class a
{
public virtual int i
{
get
{
return 0;
}
}
public virtual int i2
{
get
{
return 0;
}
set {}
}
}
public class b : a
{
public override int i
{
set {} // CS0546 error no set
}
public override int i2
{
set {} // OK
}
}
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :