我有许多具有IsActive
属性的实体。出于内部原因,我需要所有这些字段都是可空的。在另一方面,对于每个实体我可能有数十应用程序的地方做一个双重考验:避免重复测试相同属性上的空值
如果我创建一个方法类似
(空被视为真)if (language.IsActive == null || language.IsActive.value)
class Language
{
public bool IsActiveLanguage()
{
return language.IsActive == null || language.IsActive.value;
}
}
它仍然不会隐藏属性(从类中至少),所以它很容易出错。
我试图找到一种方式来重写,但我当然可以返回类型不更改为纯bool
。
在这种情况下,您将如何避免冗余?
所以在你的情况下null等价于* true *,而不是false?这有点不寻常。 – 2012-02-28 16:46:39
是的,这只是“只要它不是假的,这是真的”。我同意这可能不是最佳做法! – Mathieu 2012-02-28 16:52:11