Erreur du compilateur CS0545
Mise à jour : novembre 2007
Message d'erreur
'fonction' : substitution impossible, car 'propriété' ne possède pas d'accesseur get substituable
'function' : cannot override because 'property' does not have an overridable get accessor
Une tentative a été faite afin de définir une substitution pour un accesseur de propriété lorsque la classe de base n'a pas une telle définition à substituer. Vous pouvez corriger cette erreur en :
ajoutant un accesseur set à la classe de base ;
supprimant l'accesseur set de la classe dérivée ;
masquant la propriété de la classe de base par ajout du mot clé new à la propriété d'une classe dérivée ;
rendant la propriété de la classe de base virtual.
Pour plus d'informations, consultez Utilisation de propriétés (Guide de programmation C#).
Exemple
L'exemple suivant génère l'erreur CS0545.
// CS0545.cs
// compile with: /target:library
// CS0545
public class a
{
public virtual int i
{
set {}
// Uncomment the following line to resolve.
// get { return 0; }
}
}
public class b : a
{
public override int i
{
get { return 0; }
set {} // OK
}
}