如果对象数据有效,我有一个需要测试的对象。验证本身将从实例化对象的线程中调用,它看起来像这样:
{
if (_step.Equals(string.Empty)) return false;
if (_type.Equals(string.Empty)) return false;
if (_setup.Equals(string.Empty)) return false;
return true;
}
将此作为属性或方法实现会更好吗?为什么?我已经阅读了related question的答案,但我不认为这个具体问题在那里。
答案 0 :(得分:7)
我个人的观点是:
答案 1 :(得分:1)
我会说作为一个财产。
if(something.IsValid) { ...
看起来更好
if(something.IsValid()) { ...
同样来自MSDN的示例:http://msdn.microsoft.com/en-us/library/system.web.ui.page.isvalid(VS.71).aspx
答案 2 :(得分:1)
该代码需要重构。这是你用Java编写代码的方式,而不是用C#编写代码。在C#中,你有运算符重载。
if (_step == "")) return false;
if (_type == "")) return false;
if (_setup == "")) return false;
这是进行比较的惯用方法。你的方式,除了更冗长,在C#中只是出乎意料和不一致。
如果,且仅当时,这些字符串实际上可能是null
而不是空,请使用以下代码:
if (string.IsNullOrEmpty(_step)) return false;