在引用当前实例成员时,是否有办法在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. } }
这是有效的语法,但很容易错过.
我想要视觉工作室执行的语法:
class MyClass { public object Foo { get; set; } public MyClass(object foo) { this.Foo = foo; // this is "safe". } }
如果这个约定被强制执行,我将不得不输入this.Foo = this.Foo来创建与第一个例子中相同类型的错误.
我总是使用这个关键字,因为它使我的生活更容易,而在c#和其他语言之间切换,所以根本不会有任何缺点.