0

にデコレータ ベースを登録しようとしてIInterfaceいます。同じインターフェイスを実装するクラスがいくつかあります。

public class Instance_A : IInterface
{}

public class Instance_B : IInterface
{}

デコレータを使用しない場合、登録は次のようになります。

AllTypes.FromAssemblyContaining<IInterface>().BasedOn<IInterface>()
   .Configure(c => c.LifeStyle.Transient.Named(c.Implementation.Name)) 

デコレータを追加しました:

public class InstanceDecorator : IInterface
{
    public InstanceDecorator (IInterface instance)
    {
        Instance= instance;
    }
}

実装されたクラスの 1 つを解決しようとしているときに、デコレータを登録してその実装を取得するにはどうすればよいですか?

4

1 に答える 1

0

これはデコレータの仕組みではありません。サービスを抽象化として登録する必要があります。多くのコンポーネントを同じコントラクトで装飾したい場合は、代わりにインターセプターを使用してください。

于 2012-12-27T09:01:34.780 に答える