В C # доступ к свойствам текущего объекта через this.XYZ считается плохим стилем по сравнению только с XYZ - PullRequest
1 голос
/ 21 ноября 2008

Это простой случай, когда вы никогда не используете конструкцию this.XYZ?

Ответы [ 5 ]

6 голосов
/ 21 ноября 2008

Это считается плохим стилем, только если он нарушает ваши правила стиля. Иногда использование this необходимо для определения переменной-члена над локальной переменной:

public MyType(int arg)
{
    this.arg = arg;
}

Эту проблему также можно решить с помощью рекомендаций по стилю. Например, префикс членов с «_»:

public MyType(int arg)
{
    _arg = arg;
}
1 голос
/ 21 ноября 2008

Инструмент MS StyleCop настаивает на варианте this.XYZ (или должно быть this.Xyz) при анализе исходного кода.

1 голос
/ 21 ноября 2008

Я всегда этим пользуюсь. для глобальной переменной. Таким образом, я могу четко знать, что я использую глобальную переменную без необходимости использовать префикс, такой как "_".

1 голос
/ 21 ноября 2008

Я никогда не слышал о том, что это проблема стиля. Раньше я делал это все время, чтобы получить intellisense, но потом я начал использовать ctrl-j, а потом просто вспомнил о свойствах своего объекта, не используя костыль.

Возможно, потому что мои объекты стали менее сложными, когда я получаю больше опыта ...

1 голос
/ 21 ноября 2008

Я бы не сказал, что это плохой стиль - но это не особо идиоматично.

Мое почти единственное использование this.foo - при копировании параметров в поля:

public Person (string name, string occupation)
{
   this.name = name;
   this.occupation = occupation;
}
...