我有許多具有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