Имеется такой код :
public List < Vector2 > PointList {
get {
return _points;
}
set {
_points = value;
}
}
Resharper предлагает заменить на auto-property
public List<Vector2> PointList { get; set; }
Подскажите как вообще работает auto-property?
Auto-property сокращают код.
public List<Vector2> PointList { get; set; } - это тоже самое, что и в вашем случае:
List <Vector2> _points;
public List < Vector2 > PointList {
get {
return _points;
}
set {
_points = value;
}
}
Вот решарпер и предлагает упростить код. Убирается лишняя переменная _points, читается проще. На одном свойстве это может и не заметно, но если в классе куча таких полей, то у вас, по сути, было бы куча лишних переменных и куча похожих названий.
Если посмотреть, во что компилятор сгенерирует auto-property, то тоже самое будет. К примеру из:
public int IntProperty { get; private set; }
При генерации получится что-то вроде:
private int \u003CIntProperty\u003Ek__BackingField;
public int IntProperty
{
get
{
return this.\u003CIntProperty\u003Ek__BackingField;
}
private set
{
this.\u003CIntProperty\u003Ek__BackingField = value;
}
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости