我正在尝试创建我的第一个流畅的界面,我只是想知道其他人认为哪些更流畅,哪个更喜欢使用?
Check.Field().Named("est").WithValueOf("sdsd").IsNotNull()
Check.Field("est").WithValueOf("sdsd").IsNotNull()
Check.Field("est").WithValue("sdsd").IsNotNull()
干杯 安东尼
答案 0 :(得分:4)
最后一个肯定:
Check.Field("est").WithValue("sdsd").IsNotNull()
答案 1 :(得分:3)
我同意:
Check.Field("est").WithValue("sdsd").IsNotNull()
尽可能短,但仍然有意义。
避免像.as. .of. .and. .in.
这样的干扰词,除非它们添加了上下文含义。我已经看到了这样做的流畅的接口,除了更多的输入和更多的箍以使应用程序在执行时跳过,它没有任何用处。
答案 2 :(得分:0)
或者,为了模仿某些集合,请使用Item property:
Check["est"].WithValue("sdsd").IsNotNull()
有些人可能会说你应该只使用.IsNull()并否定整个表达式,就像这样,但那是“六 - 六 - 六”的事情:
!Check["est"].WithValue("sdsd").IsNull()
答案 3 :(得分:0)
另一种选择可能是:
Check.Field("est").IsNotNull("sdsd")
LINQ的FirstOrDefault调用谓词而不是过滤,然后调用FirstOrDefault。
答案 4 :(得分:0)
什么是Check
?我怀疑它根本不需要。我理解你要做的是什么,但请记住,你试图构建的表达式仍然可能最终出现在if语句中。考虑到这一点,请考虑“如果检查X”如何读取。不太好,imho。此外,'Field'功能必须做什么才能解析该名称?你有没有其他你可以以更好的方式呈现的地方(可能是一些基类型的扩展方法?)