接口IHandleMessages具有逆變參數TMessage IHandleMessages<in TMessage>
SimpleRetryStrategy失敗<TMessage>
這使得可能在IOC容器IHandleMessages<DerivedType>
註冊和在處理程序實現:IHandleMessages<BaseType>
。那沒問題。
問題在於Failed<TMessage>
包裝失敗的消息,其中TMessage不是逆變。這使得不可能有 執行處理程序像Handler : IHandleMessages<Failed<Base>>
和登記在IOC容器.As<IHandleMessages<Failed<DerivedType>>>()
我認爲其合理有Failed<in TMessage>
但不Failed<TMessage>
你覺得呢?