コンパイラ エラー 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
}
}