类定义属性或方法?

时间:2010-08-04 19:32:32

标签: vb.net methods properties

我有一个类定义,我见过其他定义返回对象集合的属性。

Public Property GetAllAdults() as Adults
...
End Property

我认为这应该是类中的一个方法,因为它没有定义类的属性,也不能用参数扩展。是/是否有理由将其定义为属性与函数?

3 个答案:

答案 0 :(得分:3)

我认为,由于这是一个简单的Getter而不是实际执行某些操作的东西,因此它更适合作为一个属性。

应该更改它的名称以反映它是一个属性,从而从GetAllAdults()更改为Adults。

此外,我还会争辩说,因为只有一个吸气剂......你可能会认为该系列是只读的,而事实并非如此。要使其成为真正的只读,您应该将属性公开为ReadOnlyCollection(如果可能):

Public Property Adults() as ReadOnlyCollection(Of Adult)
...
End Property

答案 1 :(得分:1)

将集合定义为属性可以更轻松地进行数据绑定。

答案 2 :(得分:0)

我只需将GetAllAdults()重命名为Adults() - 这样就可以满足定义类属性的属性的准则。你没有像你说的那样扩展它,那么为什么要创建可以简单地在语义中解决的代码烟雾呢?

相关问题