我有一个 Windsor 工具,我需要使用它来向已注册的组件添加转发。出于某种原因,我似乎无法弄清楚如何做到这一点。
我有ComponentRegistered
事件绑定,我能够过滤掉我需要添加额外接口的内容,但我似乎无法添加转发。这是我在我的设施中拥有的:
void KernelComponentRegistered(string key, IHandler handler)
{
if (typeof(ICanDoMagic).IsAssignableFrom(handler.ComponentModel.Implementation))
{
// I don't know what goes here
}
}
protected override void Init()
{
Kernel.ComponentRegistered += KernelComponentRegistered;
}
我有以下接口和类:
public interface ICanDoMagic
public interface IBasicInterface
public class BasicClass : IBasicInterface, ICanDoMagic
这是在温莎的注册
container.Register(Component.For<IBasicInterface>().ImplementedBy<BasicClass>())
我想要发生的是当用户注册实现 ICanDoMagic 的东西时(就像我在上面的注册中一样)我还想为该类注册 ICanDoMagic 接口,这样他们就不需要自己注册它。我认为这是通过前锋完成的,但我不知道如何添加它。