2010-08-04 73 views
1

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

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

我提出的论点,这应该是在类中的方法,因为它没有定义的类的属性,以及不能与参数进行扩展。是/有原因为什么这应该被定义为属性与功能?

回答

3

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

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

此外,我还会争辩说,因为只有一个getter ...你可能会认为这个集合是只读的,事实并非如此。为了使之真正只读的,你应该公开的属性作为ReadOnlyCollection(如果可能):

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

你很快,我有一个好主意,我也可以在这里找到!我辞职并删除了我的答案:-P – jdehaan 2010-08-04 19:42:08

+0

这就是我的想法。我只是承认,我从来没有想过使用属性代替方法的可能性。 – TreK 2010-08-04 19:42:33

1

定义的集合作为属性使得它更容易做数据绑定。

0

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