와 방법에서 ReadOnlyCollection을 반환 I가 다음과 같은 코드 :는 IList의 반환 형식 여기
private IList<IState> _states = new List<IState>();
private ReadOnlyCollection<IState> _statesViewer;
public IList<IState> States { get { return _statesViewer; } }
내가 일반적으로는 구체적인 클래스 자체보다는 인터페이스를 반환하는 것이 바람직하다고 생각
하지만,이에 이 경우 States
속성 ReadOnlyCollection
의 반환 유형으로 설정하면 안됩니다.
내 라이브러리 사용자는 내가 설정 한 경우 IList
으로 할 수있는 모든 작업을 수행 할 수 있다고 생각합니다. 이는 요소 추가를 의미합니다. 그것은 사실이 아니며 나는 IList로서 그것을 드러내는 계약을 확실히 깨고 있습니다.
이보기가 맞았나요? 제가 여기에없는 다른 것이 있습니까?