배경 : DirectoryCollection<T>
유형의 일반 컬렉션이 있고 T는 IEntity
형식이어야한다고 지정했습니다. 구체적인 유형은 Entity
이며, IEntity
과 두 개의 파생 유형 인 Employee
및 Station
을 구현합니다. .NET 4.0기본 개체의 ICollection을 수락하는 방법에 상속 된 개체 컬렉션 전달
나는 그러나, 그 유형 ICollection<Entity>
의 매개 변수를 사용하는 방법에 대한 작동하지 않는 것, DirectoryCollection<Employee>
같은 IEnumerable<Entity>
매개 변수와 메소드를 호출 (from here) 가능하다는 것을 알고있다. 이 방법에서는 Remove
과 Add
컬렉션을 사용하므로 IEnumerable
을 메서드 서명에 사용하는 것을 주저합니다.
이 문제를 해결하는 가장 좋은 방법은 무엇입니까?
'DirectoryCollection'은 (는)'ICollection'을 구현합니까? 나는 추측하고 있지 않습니까? –
@ChrisShain은'ICollection'이 아니지만'ICollection 여기서 T : IEntity' –
@MichaelKingsmill을 구현하면 ICollection 여기서 T : IEntity'는 T가 입출력 유형이 될 수 없습니다. .? –