配置命名参数:通过注入的字符串变量的名称注入值

Configuring Named Arguments: inject value by the injected string variable's name

Passing Named Arguments 解释了如何配置字符串值注入。

    container.With("color").EqualTo("Blue").GetInstance<IWidget>()

允许我指定 color 的值为任何 class 的 Blue,但它仅对以下 GetInstance() 调用有效。配置不与 container.

保持一致

有没有办法通过注入的字符串变量的名称来配置容器使用特定的值?如果它的构造函数上有 string color,我有几个 class 想要注入特定值。

我不知道该怎么做,但是依赖变量名似乎不是一个好习惯,所以决定根本不使用这个功能。更合适的方法是 Options pattern,如果 class 的任何其他容器没有指定值,它也允许我描述默认值。