我正在尝试在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;
}
}
如何在我尝试解析其中一个已实现的类时注册装饰器并获取其实现?
答案 0 :(得分:0)
这不是装饰者的工作方式。您必须将您的服务注册为抽象。如果你想用相同的契约装饰许多组件,请使用拦截器。