이 설명서는 보관되지만 유지 되지 않습니다.

컴파일러 오류 CS0545

오류 메시지

'function' : 'property'에 재정의 가능한 get 접근자가 없으므로 재정의할 수 없습니다.
'function' : cannot override because 'property' does not have an overridable get accessor

기본 클래스에 재정의에 대한 정의가 없을 때 속성 접근자에 대한 재정의를 정의하려고 했습니다. 이 오류를 해결할 수 있는 방법은 다음과 같습니다.

  • 기본 클래스에 set 접근자를 추가합니다.

  • 파생 클래스에서 set 접근자를 제거합니다.

  • 파생 클래스의 속성에 new 키워드를 추가하여 기본 클래스 속성을 숨깁니다.

  • 기본 클래스의 속성을 virtual로 만듭니다.

자세한 내용은 속성 사용(C# 프로그래밍 가이드)속성 사용(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
   }
}
표시: