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;
    }
}

当我试图解析一个已实现的类时,如何注册装饰器并获得它的实现?

4

1 回答 1

0

这不是装饰器的工作方式。您必须将您的服务注册为抽象。如果你想用相同的合约装饰许多组件,请改用拦截器。

于 2012-12-27T09:01:34.780 回答