컴파일러 오류 CS0545
업데이트: 2007년 11월
오류 메시지
'function' : 'property'에 재정의 가능한 get 접근자가 없으므로 재정의할 수 없습니다.
'function' : cannot override because 'property' does not have an overridable get accessor
기본 클래스에 재정의에 대한 정의가 없을 때 속성 접근자에 대한 재정의를 정의하려고 했습니다. 이 오류를 해결할 수 있는 방법은 다음과 같습니다.
기본 클래스에 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
}
}