Можно ли принудительно использовать ключевое слово this в c # .NET?

Есть ли способ принудительно использовать ключевое слово 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 # и другими языками, поэтому никаких недостатков не будет.

10
задан Jonas Stensved 18 August 2011 в 09:03
поделиться