Может ли кто-нибудь сказать мне, что такое использование публичного имущества для частного члена класса, но не реализующее ничего в комплекте и не получившее его? Я знаю, что это может быть просто для примера, и что в дальнейшем вы можете реализовать что-то, но я не знаю, есть ли смысл использовать его как тоНазначение недвижимости с пустым набором get
ответ
Я предполагаю, что вы знаете, что есть частное поле, сгенерированное компилятором C# в качестве поля, поддерживающего это свойство. Это синтаксический сахар. Я также предполагаю, что вы знаете, что это свойство, реализованное автоматически. Итак, какова точка собственности, если она общедоступна без логики в get
или set
. Другими словами, любой класс может получить к нему доступ и установить его значение. Итак, зачем выбирать это свойство в публичном поле?
Цель этого является:
- Сегодня
get
иset
пуст, но это, возможно, потребуется код в будущем. Чтобы избежать нарушения контракта в будущем, вы используете пустыеget
иset
. - Большинство привязок данных .NET можно выполнять против свойств, но не для полей. Поэтому, хотя он пуст, он по-прежнему служит гораздо большей цели.
get
иset
могут иметь модификаторы доступа. Например, вы можете сказать, чтоset
является закрытым, ноget
является общедоступным.- Поле не может использоваться в интерфейсах, но свойства могут.
это именно то, что я искал, спасибо вы! – wookiee
Когда вы видите
public int Count { get; set; }
в качестве члена класс, то есть не ничего. Вы просто откладываете на реализацию автоматических свойств по умолчанию. Это примерно,
private int _count;
public int get__Count()
{
return _count;
}
public void set__Count(int value)
{
_count = value;
}
Вы просто синтаксический сахар в C# использовать эти методы примерно как поле, т.е.
instanceOfObject.Count = 42; // Not a field access, but behind the scenes a method call.
Должен быть дубликат для этого вопроса, я уверен, что вы зрелый пользователь SO и обыскали, прежде чем пытаться узурпировать любые моменты для вас. –
@Mic halHainc Это справедливое мнение. Если вы считаете, что мой ответ не полезен или не вносит вклад в Stack Overflow, вы можете его проголосовать. – jdphenix
Нет, я не хотел этого говорить, мне просто нравится принцип DRY ... и мне не нравятся дублированные вещи, ваша воля помочь другим разработчикам по-прежнему ценится, хотя –
Это «авто Реализуемый» свойство в C#. В действительности, имущество выступает в качестве полной собственности, т.е .:
Это:
public int Number { get; set; }
эквивалентно:
private int _number;
public int Number
{
get
{
return this._number;
}
set
{
this._number = value;
}
}
Это предотвращает Вас от необходимости вводить полную декларацию собственности. Это полезно, когда у вас нет дополнительной логики в приемнике и/или сеттере.
Я часто использую автоматически реализованные свойства при простом извлечении данных и обнаруживаю, что они делают мои классы более сжатыми.
- 1. функциональные зависимости с пустым набором
- 2. foreach с пустым набором данных
- 3. JavaScript назначение объекта недвижимости
- 4. jqplot круговая диаграмма с пустым набором данных
- 5. Обновление строки d3 с пустым набором данных
- 6. Socket Выбрать с пустым набором fd
- 7. Antlr4 - Совпадать с пустым набором в lexer
- 8. ForEach недвижимости в Get-Member
- 9. Get StdClass Имя объекта недвижимости
- 10. Apache переписать правило с пустым get args
- 11. Раскрывающийся список с набором данных и пустым значением?
- 12. Как обращаться с пустым набором результатов NHibernate LINQ?
- 13. Рубин/Рельсы - двойная труба с пустым набором данными
- 14. OrientDB Результата запрос множество вершин с пустым набором ребер, вершины
- 15. Rails Вложенные ресурсы с пустым набором на nil
- 16. API Карт Google v3 - Укажите назначение, но оставьте начало пустым?
- 17. Петля с набором и набором?
- 18. Назначение с помощью Get() и пасту()
- 19. Назначение KnockoutJS объекта от $ .get
- 20. Назначение переменных AJAX .get calls
- 21. Powershell - мимо параметра недвижимости с помощью Get-ADComputer
- 22. Впрыск недвижимости с автосферой
- 23. недвижимости с параметром
- 24. Проблемы с набором и методами get в java
- 25. Совпадение шаблона с набором
- 26. Назначение UISearchBar Текст недвижимости не вызывает TextChanged событие
- 27. Тип недвижимости: создание недвижимости
- 28. инъекции недвижимости с Unity
- 29. недвижимости производительности
- 30. Модификаторы недвижимости
Это может быть автоматически реализованная недвижимость. Зависит от того, что вы подразумеваете под пустым и является ли это VB или C# – Plutonix
Вы имеете в виду авто свойства? т. е. public int Foo {get; set;} –
@MichalHainc Я не верю, что это дубликат этого вопроса. Внимательно прочитайте его вопрос и посмотрите мой ответ. – CodingYoshi