配置命名参数:通过注入的字符串变量的名称注入值
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 的任何其他容器没有指定值,它也允许我描述默认值。
Passing Named Arguments 解释了如何配置字符串值注入。
container.With("color").EqualTo("Blue").GetInstance<IWidget>()
允许我指定 color
的值为任何 class 的 Blue
,但它仅对以下 GetInstance()
调用有效。配置不与 container
.
有没有办法通过注入的字符串变量的名称来配置容器使用特定的值?如果它的构造函数上有 string color
,我有几个 class 想要注入特定值。
我不知道该怎么做,但是依赖变量名似乎不是一个好习惯,所以决定根本不使用这个功能。更合适的方法是 Options pattern,如果 class 的任何其他容器没有指定值,它也允许我描述默认值。