更新:2007 年 11 月

错误消息

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

试图对属性的访问器方法之一进行重写时失败,因为访问器不能重写。可以通过下面的方法解决该错误:

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

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

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

  • 生成基类属性 virtual

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

示例

下面的示例生成 CS0546。

 复制代码
// 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
   }
}