В чем разница...? [C # свойства GET / SET пути] - PullRequest
4 голосов
/ 24 марта 2011

Я знаю, что в C # вы можете легко создавать средства доступа к типу данных, например, выполняя следующие действия:

public class DCCProbeData
{
    public float _linearActual { get; set; }
    public float _rotaryActual { get; set; }
}

Однако мой коллега посоветовал мне сделать это следующим образом:

public class DCCProbeData
{
    private float _linearActual = 0f;

    public float LinearActual
    {
        get { return _linearActual; }
        set { _linearActual = value; }
    }
    private float _rotaryActual = 0f;

    public float RotaryActual
    {
        get { return _rotaryActual; }
        set { _rotaryActual = value; }
    } 
}

Мой путь кажется более простым и лаконичным.В чем отличия и преимущества этого в любом случае?

Спасибо

Редактировать Просто обратите внимание, что мой коллега смог сгенерировать код для «второго пути»с помощью параметра Refactor на панели «Сведения о классе» легче всего найти файл Diagram.Это позволяет легко добавлять множество свойств без необходимости вручную создавать средства доступа.

Ответы [ 13 ]

0 голосов
/ 24 марта 2011

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

Даже тогда это кажется немного бессмысленным.

0 голосов
/ 24 марта 2011

Полагаю, на уровне IL они оба заканчивают тем же. В фоновом режиме VS создает для вас имена с автоматическими именами, когда вы используете автоматические методы получения и установки.

0 голосов
/ 24 марта 2011

Первый путь - это путь, когда вам нужны простые свойства с готовыми утилитами get и set и частным хранилищем.

Используйте второй способ, если вам нужно сделать что-то особенное, когда вы получаете или устанавливаетезначение.

Кроме того, я рекомендую придерживаться соглашений об именах, используя FxCop или ReSharper.

...