DryIoc - 使用构造函数注入时指定依赖项

时间:2016-03-10 10:04:57

标签: dryioc

如果我注册了同一个合同的两个实现,那么使用DryIoc - 如何控制在使用构造函数注入时使用哪个实现?

我看到你可以注册一个密钥或元数据 - 是否可以(使用属性?)来控制实现注入?或者我应该要求收集并找出ctor中的正确实现?

1 个答案:

答案 0 :(得分:1)

您可以通过Made.Of强类型规范指定构造函数中要使用的依赖项,如下所示:

var total = 0;
jQuery('table.views-table:first td.views-field-qty').each(function()
{
    var price = parseInt(jQuery(this).text());
    if (!isNaN(price))
    {
        total += price;
    }
});
jQuery('table.views-table:first').after('<p> Total Tickets Sold: <strong>' + total + '</strong></p>');

以下related SO answer有更多选项。

通过MEF Attributed Model支持归属注册:

container.Register<SomeClient>(Made.Of(
   () => new SomeClient(Arg.Of<IDep>("service key of impl")));