私は次の構造を持っています
public SomeMessage : IServiceMessage
{
}
public MultipleMessage<T> : IServiceMessage
where T : IServiceMessage
{
}
現在、すべての非ジェネリック メッセージ タイプ (最初に示した例など) を次の登録で登録しています。
container.Register(
Types.FromAssemblyContaining<IServiceMessage>()
.BasedOn<IServiceMessage>()
.WithService.FromInterface()
.LifestyleTransient());
ただし、これは一般的な MultipleMessage を登録しないため、次のようにすべての可能なものを登録しています。
container.Register(
Component.For<IServiceMessage>()
.ImplementedBy<MultipleMessage<SomeMessage>>()
.LifeStyle.Transient);
しかし、これは間違っているようです。なぜなら、私は非ジェネリック型の規則を使用し、ジェネリック型の構成を行っているからです。可能なすべてのジェネリック型に対して MultipleMessage<> を登録する方法はありますか?