使用Unity注入数组

时间:2018-07-04 14:48:53

标签: c# dependency-injection unity-container strategy-pattern

我正在使用策略模式,并使用Unity注入依赖项。

我有一个策略界面和实施方式:

 public interface IStrategy

 public class Strategy: IStrategy
    {
        private readonly IFactory[] factories;
        public Strategy(IFactory[] factories)
        {
            this.factories = factories ?? throw new ArgumentNullException("factories");
        }
    }

以及一些工厂,接口和实现:

public interface IFactory

public class Factory: IFactory

我正在尝试使用Unity注入依赖项。

我已经仔细阅读了一个描述这种情况的主题(Injecting arrays with Unity),并实现了所描述的解决方案:

container.RegisterType<IFactory,Factory>("FactoryA");

container.RegisterType<IStrategy, Strategy>();

container.Resolve<Strategy>();

但是,在编写过程中,传递给factories[]构造函数的Strategy数组始终是一个空数组。

我认为我已经很好地理解了它是如何工作的,因为所链接的问题给出了详细的答案,但是我显然是错误的。

您能帮忙阐明一下吗?

0 个答案:

没有答案