Это определенно не происходит от Java. В C / C ++ идентификаторы, начинающиеся с подчеркивания, обычно зарезервированы для компилятора.

рвых, я знаю, что этот вопрос задавался несколько раз и что в конечном итоге это в основном вопрос личных предпочтений, но, читая все темы по этому вопросу, некоторые вещи мне не понятны.

По сути, большинство людей согласны, по крайней мере, с тем, что публичный член должен быть PascalCased, а приватный член должен быть lowerCamelCased.

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

Обоснование отказа от префикса заключается в том, что вы должны использовать это. вместо префикса.

У меня проблема в том, что я не понимаю, как это меняет дело? Я имею в виду, это не значит, что вы не можете использовать это для публичного члена в любом случае внутри класса.

Давайте представим класс Customer, который выглядит так:

class Customer
{
    private int age;

    public int Age
    {
        get { return this.age; }
        set { this.age = value; }
    }
}

(Очевидно, в таком простом случае я мог бы использовать autoproperty, но это только пример).

Если бы я добавил второе свойство внутри этого класса, ничто не помешало бы мне ссылаться на него, используя this.Age (публичное свойство), а не this.age (приватное поле). Иногда это может быть даже целесообразно, если на уровне получателя применяется некоторая проверка или форматирование.

Кроме того, если бы некоторые другие свойства моего класса требовали изменения возраста клиента, имело бы смысл использовать свойство, а не вспомогательное поле напрямую, поскольку установщик мог бы также реализовать некоторые проверки бизнес-правил, верно?

Другими словами, я действительно не понимаю, как ключевое слово this позволяет избежать путаницы между частными участниками поддержки и общедоступными свойствами, поскольку это можно использовать в обоих случаях, а IntelliSense показывает оба?

Благодарю.

Ответы на вопрос(2)

Ваш ответ на вопрос