在私人班级成员中正确使用关键词"this"是什么?

Ale*_*sky 4 .net c#

应该在C#类定义中何时使用关键字"this"?

在课堂上使用"this.Method()"形式是否标准?或者只使用"Method()"?我已经看过两者,并且通常选择第二种,但我想了解更多有关此主题的信息.

Mar*_*ell 15

大多数情况下它是多余的,可以省略; 一些例外:

  • 调用链式构造函数: Foo() : this("bar") {}
  • 消除局部参数/变量和字段之间的歧义:this.foo = foo;等等
  • 在当前实例上调用扩展方法:( this.SomeMethod();定义为public static SomeMethod(this Foo foo) {...})
  • 将对当前实例的引用传递给外部方法: Helper.DoSomething(this);