Использование .NET magic get set - лучшие практики? - PullRequest
0 голосов
/ 19 сентября 2011

Можно использовать это в коде (в контексте mvc 3 или в любом другом контексте):

protected String test { get; set; }

Хотелось бы услышать, почему это так и почему это не так, если у вас есть какой-либо из нихответы.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 19 сентября 2011

Это просто удобство.

Все, что он делает, это удаляет код котельной плиты, поскольку он действительно эквивалентен

private String _test;
protected String test{
 get{
  return _test;
 }
 set{
  _test = value;
 }
}

Так что, когда это все, используйтемагияКогда вам нужно сделать что-то более прикольное, затем реализовать getsetters.

Например, в MVC я часто хочу использовать Enums для своих свойств, но это не поддерживается CodeFirst.Итак, я делаю это:

[Column("Type")]
public byte DBType;
public MyCustomEnum Type{
 get{
  return (MyCustomEnum)DBType;
 }
 set{
  DBType = (byte)value;
 }
}

И это заполняет мою базу данных, как и ожидалось.

1 голос
/ 19 сентября 2011

Это совершенно нормально. Это то же самое, что использование полного свойства с ручной поддержкой, только то, что его поддержка автоматически генерируется компилятором. Если вам нужен больший контроль над реализацией get-set, обязательно используйте подробный синтаксис, но если вам просто нужны простые свойства (например, для свойств VM в MVC), используйте этот синтаксис, поскольку он делает код намного более читабельным и прямо в точку.

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