Когда использовать свойство или метод в интерфейсах для типов значений - PullRequest
0 голосов
/ 09 декабря 2011

Каковы аргументы Pro в определении типов значений как методов или свойств в интерфейсах

, т. Е.

Это единственные проблемы с многопоточными приложениями или они в значительной степени взаимозаменяемы?1006 *

Ответы [ 4 ]

3 голосов
/ 09 декабря 2011

Методы не являются привязываемыми, свойства есть.

1 голос
/ 09 декабря 2011

Причина, по которой вы не хотите, чтобы он определялся как метод, заключается в том, что разработчику необходимо значение в качестве свойства, например, для отправки в веб-службу.Концепция, которую вы определяете через интерфейс, должна быть как читаемой, так и обновляемой, тогда свойство обычно является лучшим решением, чем два метода (один для установки и один для получения).Я часто колеблюсь, предоставлять ли метод или свойство только для чтения, но, предполагая, что никаких дополнительных параметров не требуется, и представляемая концепция действительно представляет собой часть данных, а не действие, я обычно оказываюсь на стороне предоставления свойствапривязка данных, отражение и сериализация.

0 голосов
/ 09 декабря 2011

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

0 голосов
/ 09 декабря 2011

В значительной степени взаимозаменяемы. Преимущество свойств в том, что вы можете делать ++ или -.

т.е.

class Data
{
  private int var;

  public Data( int v ) { var = v; }

  public int Var
  {  
    get { return var; }
    set { var = value; }
  }

  Main( )
  {
    Data d = new Data( 10 );
    d.Var++;
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...