Compiler Error CS0545

'function' : cannot override because 'property' does not have an overridable get accessor

A try was made to define an override for a property accessor when the base class has no such definition to override. You can resolve this error by:

  • Adding a set accessor in the base class.

  • Removing the set accessor from the derived class.

  • Hiding the base class property by adding the new keyword to a property in a derived class.

  • Making the base class property virtual.

For more information, see Using Properties (C# Programming Guide).


The following sample generates 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