IList
을 구현하는 읽기 전용 컬렉션을위한 추상 기본 클래스를 작성하려고합니다. 이러한 기본 클래스는 NotSupportedException
을 던지기 위해 set-indexer를 구현해야하지만 get-indexer는 추상으로 남겨 두어야합니다. C#에서 그런 상황이 가능합니까? 여기에 지금까지이 작업은 다음과 같습니다C에서 콘크리트 세터가있는 추상 게터 #
public abstract class ReadOnlyList : IList {
public bool IsReadOnly { get { return true; } }
public object this[int index] {
get {
// there is nothing to put here! Ideally it would be left abstract.
throw new NotImplementedException();
}
set {
throw new NotSupportedException("The collection is read-only.");
}
}
// other members of IList ...
}
이상적으로 ReadOnlyList
은 세터를 구현하지만 게터 초록을 떠날 수있을 것입니다. 이것을 허용하는 구문이 있습니까?
이 단지 운동하지, 당신은 프레임 워크 –
덕분에 ReadOnlyCollection있다; 필자는 보통 ReadOnlyCollection 을 사용합니다.이 경우 IList 의 사용자 지정 구현이 필요합니다. 나는 질문을하기 위해 필요한 최소한의 시나리오를 간소화하는 경향이있다. –