Свойства или методы определения класса? - PullRequest
1 голос
/ 04 августа 2010

У меня есть определение класса, которое я видел, другие свойства определения, которые возвращают наборы объектов.

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

Я сделал аргумент, что это должен быть метод в классе, потому что он не определяет атрибут класса и не может быть расширен параметрами. Есть ли причины, по которым это должно быть определено как свойство или функция?

Ответы [ 3 ]

3 голосов
/ 04 августа 2010

Я бы сказал, что поскольку это простой метод получения, а не то, что фактически выполняет какое-либо действие, он гораздо лучше подходит в качестве свойства.

Это имя следует изменить, чтобы отразить тот факт, что оно являетсясвойство, таким образом изменяя значение с GetAllAdults () на Adults.

Кроме того, я бы также сказал, что, поскольку есть только метод получения ... вы можете подумать, что коллекция доступна только для чтения, что не так.Чтобы сделать его доступным только для чтения, вы должны предоставить свойство как коллекцию ReadOnlyCollection (если возможно):

Public Property Adults() as ReadOnlyCollection(Of Adult)
...
End Property
1 голос
/ 04 августа 2010

Определение коллекций как свойств облегчает привязку данных.

0 голосов
/ 04 августа 2010

Я бы просто переименовал GetAllAdults () в Adults () - так вы удовлетворяете указанию свойства, определяющего атрибут класса. Вы не расширяете его, как вы сказали, так зачем создавать кодовый дым, который можно было бы просто решить с помощью символики?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...