小编Col*_*lby的帖子

用于属性注入的 DryIOC 容器配置

我已经广泛搜索了一个简单的例子,说明如何配置一个 DryIoc 容器来简单地将依赖项作为属性注入,就像注入构造函数 args 一样。

鉴于以下工作示例...

容器注册:

    public static void Register(HttpConfiguration config)
    {
        var c = new Container().WithWebApi(config);

        c.Register<IWidgetService, WidgetService>(Reuse.Singleton);
        c.Register<IWidgetRepository, WidgetRepository>(Reuse.Singleton);
    }
Run Code Online (Sandbox Code Playgroud)

小工具服务:

public class WidgetService : IWidgetService
{
    private readonly IWidgetRepository _widgetRepository;

    public WidgetService(IWidgetRepository widgetRepository)
    {
        _widgetRepository = widgetRepository;
    }

    public IList<Widget> GetWidgets()
    {
        return _widgetRepository.GetWidgets().ToList();
    }
}
Run Code Online (Sandbox Code Playgroud)

小部件存储库:

public class WidgetRepository : IWidgetRepository
{
    private readonly IList<Widget> _widgets;

    public WidgetRepository()
    {
        _widgets = new List<Widget>
        {
            new Widget {Name = "Widget 1", Cost = new decimal(1.99), Description …
Run Code Online (Sandbox Code Playgroud)

c# dependency-injection asp.net-web-api dryioc

5
推荐指数
1
解决办法
8052
查看次数