如何允许我的一个字符串参数为空字符串?
当我尝试 nothing 或单个空格(名称已更改)时,我收到此错误:
无法解析'test.User'(MyNamespace.MyObject)的非可选依赖项。参数'userName'类型'System.String'
答案 0 :(得分:8)
事实证明,添加一个不带参数的构造函数更容易,而且可能更多正确。
答案 1 :(得分:2)
container.Register(
Component.For<Foo>()
.DependsOn(new
{
someString = string.Empty
}));
但首先,为什么要将该依赖项设置为空字符串?它确实感觉像是在攻击我。
答案 2 :(得分:1)
如果已经存在默认值(null)或其他非空字符串,该怎么办?一种解决方案是创建一个组件:
<component id="emptyString" type="System.String, mscorlib" />
然后在参数节点中使用它:
<parameters>
<someStringParameter>${emptyString}</someStringParameter>
</parameters>
但似乎应该有一种更简单的方式。