C # пустое свойство - PullRequest
       6

C # пустое свойство

3 голосов
/ 01 апреля 2011

Каков предпочтительный способ реализации оператора IsEmpty для вашего собственного контейнероподобного класса?

Это может быть простой метод bool IsEmpty() или у вас может быть некоторое свойство gettable IsEmpty /Empty.

Я понимаю, что это, вероятно, вопрос личного выбора, но вы бы придерживались свойств или методов в таких случаях?

Ответы [ 4 ]

14 голосов
/ 01 апреля 2011

Общее правило: если это дорого или имеет побочные эффекты, тогда сделайте это методом. Если оно просто читает поле, сделайте его свойством.

2 голосов
/ 01 апреля 2011

Я буду использовать только для чтения свойство IsEmpty, если оно является простым средством доступа к приватному полю, если у вас есть какой-то алгоритм, чтобы определить, является ли что-то пустым, вы должны использовать метод IsEmpty ()

0 голосов
/ 01 апреля 2011

Поиск IsEmpty в справке VS 2008 показывает 40 свойств и 11 методов. (Ваш пробег может варьироваться в зависимости от версии.) Так что либо приемлемо, но свойство встречается чаще.

Самое главное - быть последовательным во всем коде.

0 голосов
/ 01 апреля 2011

Вы правы, это определенно личный выбор, и мой будет:

virtual bool IsEmpty() 
{

}
...