Плюсы и минусы использования этого ключевого слова в c # - PullRequest
1 голос
/ 05 марта 2011

В программировании вы можете использовать это ключевое слово

this.Textbox

или просто

Textbox

Какова лучшая практика?

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

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

Каковы плюсы и минусы использования этого ключевого слова?

Ответы [ 5 ]

3 голосов
/ 05 марта 2011

Систематическое использование this будет означать, что вы не попадете в ловушку ссылки на локальную переменную, когда на самом деле вам нужен член this.

Недостаток: использование this сделает ваш код более многословным.

Это действительно зависит от личных предпочтений.

0 голосов
/ 19 февраля 2019

Я только начал удалять это. квалификация из кодовой базы, которая вызвала следствие:

Методы расширения должны иметь это. Приставка!

Таким образом, использование методов расширения не прозрачно, если только это. обычно используется квалификация.

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

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

private string Foo;
public void Bar(string Foo)
{
    this.Foo = Foo;
}

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

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

Я предпочитаю опускать this., потому что он меньше печатает и меньше загромождает и использует его только при необходимости, потому что в противном случае идентификатор был бы неоднозначным.

В качестве идентификатора мне нравится способ обработки доступа к элементам в Cobra,Это требует, чтобы они имели префикс . (или _ для рядовых).Так что вы бы использовали .member=parameter.И первый, очевидно, является членом, а второй - локальной переменной.Элегантный способ устранить двусмысленность, не становясь многословным.

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

Единственные минусы в том, что это больше печатать.Использование this (особенно последовательно) также исключает, например, использование параметра, когда вы хотели использовать свойство, например, метод f(Textbox textbox) => {textbox = textbox}, когда вы хотели сказать this.Textbox = textbox. Использование его последовательно не только делает невозможным выполнениено также выделяет его, когда это возможно.

...