Lezen in het Engels

Delen via


Compilerfout CS0546

'accessor': kan niet worden overschreven omdat 'eigenschap' geen overschrijfbare set accessor heeft

Een poging om een van de toegangsmethoden voor een eigenschap te overschrijven, is mislukt omdat de accessor niet kan worden overschreven. Deze fout kan optreden als:

  • de eigenschap basisklasse wordt niet gedeclareerd als virtueel.

  • de eigenschap basisklasse declareert niet de get - of set-accessor die u probeert te overschrijven.

Als u de eigenschap basisklasse niet wilt overschrijven, kunt u het nieuwe trefwoord voor de eigenschap in afgeleide klasse gebruiken.

Zie Eigenschappen gebruiken voor meer informatie.

Opmerking

In het volgende voorbeeld wordt CS0546 gegenereerd omdat de basisklasse geen set accessor declareert voor de eigenschap.

// 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  
   }  
}  

Zie ook