Compiler Error CS0545

“function”:无法重写,因为“property”没有可重写的 get 访问器

尝试定义属性访问器的重写,而此时基类没有这样的定义可供重写。可以通过下面的方法解决该错误:

  • 在基类中添加 set 访问器。

  • 从派生类中移除 set 访问器。

  • 通过在派生类的属性中添加 new 关键字来隐藏基类属性。

  • 生成基类属性 virtual

有关更多信息,请参见使用属性(C# 编程指南)

下面的示例生成 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
   }
}