0

私は次の構造を持っています

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<> を登録する方法はありますか?

4

0 に答える 0