구현하여 메시지에 가입
는 가입자가 IHandle<IEnumerable<MyType>>
그런 사람을 구현 말할 수 있습니다 ICollection<MyType>>
메시지를 게시하십시오. IColletion <>가 <>
그러나 내 코드는이를 지원하지 않습니다. 해결 방법은 게시자가 ICollection을 IEnumerable로 캐스팅하지만 큰 팀에서는 버그가 발생하기 쉽도록하는 것입니다.
이
public void Publish<T>(T message) where T : class
{
if (config.EnableEventAggregator)
subscribers.OfType<IHandle<T>>()
.ForEach(s => s.Handle(message));
}
작동하지 않는 코드 나는 그것이 IEnumerable<T>
어떤 아이디어를 상속하는 모든 유형의 IHandle<IEnumerable>
을 찾으려는? 이
이를 IEnumerable을
에서 상속 모든 유형을 받아 들일 것입니다interface IHandle<in T>
을이 방법으로 : 당신이 해결할 필요가 없도록
Cuong Le가 맞습니다. 또한 1) 메소드의 본문은'return subscribers.OfType>();', 2) 질문이 리플렉션과 관련이 없으므로 태그를 제거 할 것입니다. –
thorn
그것의 대답을 만들었습니다 – Anders