1

鉴于:

public interface IFeedOperations : IOperationsWithPreInstalledData
{
    ...
}

public class FeedOperations : IFeedOperations
{
}

如何将 RegisterType 用于实现IFeedOperationsAND 因此的类IOperationsWithPreInstalledData

public class FeedsInstaller : IDependencyInstaller
{
    public void Install(IDependencyContainer container)
    {
        container.RegisterType(typeof(IFeedOperations), typeof(FeedOperations));
        container.RegisterType(typeof(IOperationsWithPreInstalledData), typeof(FeedOperations));
    }
}

当前代码产生以下错误。如果我删除第二个 RegisterType ,那么当我调用container.ResolveAll<IOperationsWithPreInstalledData>().

组件 ...Feeds.FeedOperations 无法注册。已经有一个具有该名称的组件。您是否想修改现有组件?如果不是,请确保指定一个唯一名称。

如果我删除第二个 RegisterType ,那么当我调用container.ResolveAll<IOperationsWithPreInstalledData>(). Castle Windsor 似乎没有看到实现的类IFeedOperations也实现了IOperationsWithPreInstalledData.

我如何向 Castle Windsor 注册我的实现类,以便它知道我的类实现了这两个接口——或者更确切地说,我的类可以解析任何一个接口。

4

1 回答 1

5
container.Register(Component.For<IFoo,IBar>().ImplementedBy<FooBar>());
于 2013-01-21T02:45:12.407 回答