コンパイラ エラー CS0545

更新 : 2007 年 11 月

エラー メッセージ

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