Есть ли способ принудительно использовать ключевое слово this
в Visual Studio при ссылке на текущие члены экземпляра?
Пример с ошибкой в конструкторе:
class MyClass
{
public object Foo { get; set; }
public MyClass(object foo)
{
Foo = Foo; // this should of course be lowercase but it's easy to miss
}
}
Этот код будет вероятно, где-то позже будет сгенерировано печально известное «ссылка на объект не установлена на экземпляр объекта»
исключение.
Как заставить его работать, но все же это легко пропустить:
class MyClass
{
public object Foo { get; set; }
public MyClass(object foo)
{
Foo = foo; // Valid syntax but unclear.
}
}
Это допустимый синтаксис, но его легко пропустить.
Синтаксис, который я хотел бы применить в Visual Studio:
class MyClass
{
public object Foo { get; set; }
public MyClass(object foo)
{
this.Foo = foo; // this is "safe".
}
}
Если это соглашение будет соблюдаться, мне придется набрать this.Foo = this.Foo
, чтобы создать такой же тип файла. ошибка, как в первом примере.
В любом случае я всегда использую ключевое слово this
, так как это облегчает мне жизнь при переключении между C # и другими языками, поэтому никаких недостатков не будет.