温莎城堡登记装饰

时间:2012-12-23 09:49:22

标签: castle-windsor

我正在尝试在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 个答案:

答案 0 :(得分:0)

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

相关问题