Esiste un modo per imporre l'utilizzo della parola chiave this
in Visual Studio quando si fa riferimento ai membri dell'istanza corrente?Posso forzare l'uso della parola chiave 'this' in C# .NET?
Esempio con un bug nel costruttore:
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
}
}
Questo codice sarà probabilmente genererà il 'object reference not set to an instance of an object'
eccezione infame da qualche parte in seguito.
Come per farlo funzionare, ma ancora è facile perdere:
class MyClass
{
public object Foo { get; set; }
public MyClass(object foo)
{
Foo = foo; // Valid syntax but unclear.
}
}
Questa è la sintassi valida ma è facile perdere.
La sintassi mi piacerebbe Visual Studio rispettare:
class MyClass
{
public object Foo { get; set; }
public MyClass(object foo)
{
this.Foo = foo; // this is "safe".
}
}
Se questa convenzione viene applicata avrei dovuto digitare this.Foo = this.Foo
per creare lo stesso tipo di bug come nel primo esempio.
Uso sempre la parola chiave this
poiché mi semplifica la vita passando da C# a altre lingue, quindi non ci sono assolutamente svantaggi.
Visual Studio ti avvisa quando fai il primo errore se usi fxcop –
Come hai detto non penso che farebbe alcuna differenza per il problema che stai avendo, ti suggerirei di cambiare il nome del parametro invece di qualcosa come 'bar', in questo modo non avresti alcun problema. – atoMerz