3

IsEmpty为您自己的容器类实现语句的首选方法是什么?

它可能是一个简单的方法bool IsEmpty(),或者您可以拥有一些可获取的属性IsEmpty/ Empty

我知道这可能是个人选择的问题,但是在这种情况下您会坚持使用属性或方法吗?

4

4 回答 4

14

一般规则是,如果成本高或有副作用,则将其作为一种方法。如果它只是读取一个字段,则使其成为一个属性。

于 2011-04-01T14:01:09.483 回答
2

我将使用只读属性 IsEmpty 如果它是私有字段的简单访问器,如果您有一些算法来确定某些内容是否为空,您应该使用方法 IsEmpty()

于 2011-04-01T14:00:02.840 回答
0

IsEmpty在 VS 2008 的帮助中搜索会发现 40 个属性和 11 个方法。(您的里程可能会有所不同,具体取决于版本。)所以任何一个都可以接受,但属性更常见。

最重要的是在整个代码中保持一致。

于 2011-04-01T14:13:32.787 回答
0

你是对的,这绝对是个人选择,我的选择是:

virtual bool IsEmpty() 
{

}
于 2011-04-01T14:03:18.457 回答