我有一个使用C#重构工具的同事.该工具出于某种原因需要:
this.Foo()
Run Code Online (Sandbox Code Playgroud)
过度
Foo()
Run Code Online (Sandbox Code Playgroud)
现在我们已经让他关掉它只是因为让所有代码自动重写都很烦人,但这不是重点.
我错过了什么,或者这是错的吗?为什么我想要this.Foo()?
正如这里的其他答案所指出的,这很大程度上是风格问题。
Foo()很多时候,如果没有 ,调用 to就会很明确this.,但有时它可能会增加清晰度。例如:
EventHandler foo = GetEventHandlerFoo();
EventHandler baz = GetEventHandlerBar();
foo();
this.Bar();
baz();
Run Code Online (Sandbox Code Playgroud)
在这种情况下,this.前缀有助于使方法调用从委托调用中脱颖而出。
有这个必要吗?不,Lasse V. Karlsen 正确地指出,this.只不过是命名约定的替代,使其变得明确。
但我发现出于类似的原因,我会经常this.Foo在本地属性上使用前缀,这又更多是风格问题。