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).

Example

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