在温莎城堡,是否有可能在依赖另一个组件的属性的情况下提供服务

本文关键字:属性 情况下 服务 组件 依赖 城堡 有可能 是否 另一个 | 更新日期: 2023-09-27 17:58:10

假设我有属性为string Setting1ISettings

public class MyComponent : IMyService
{
    public MyComponent(string setting1)
    {
        // set fields
    }
}

是否可以联系Windsor说应该使用ISettings.Setting1来满足MyComponent的依赖性?

在温莎城堡,是否有可能在依赖另一个组件的属性的情况下提供服务

我建议有两个选项。

首先,使用ISettings作为依赖项,必要时使用Setting1

public class MyComponent : IMyService
{
    public MyComponent(ISettings settings)
    {
        // access settings.Setting1
    }
}

第二,Windsor.DependensOn函数将一些基本属性传递给组件。

container.Register(
                Component.For<IMyService >()
                .ImplementedBy<MyComponent >()
                .DependsOn(Dependency.OnValue("setting1", ISettingsInstance.Setting1));
相关文章: