代码之家  ›  专栏  ›  技术社区  ›  Seb Nilsson

C#属性和此关键字

  •  0
  • Seb Nilsson  · 技术社区  · 15 年前

    我应该什么时候用电脑 this -代码中属性的关键字?

    public class MyClass {
        public string MyString { get; private set; }
        public void MyMethod() {
            OtherClass.DoStuff(MyString); // Or this.MyString?
        }
    }
    

    属性的名称与您的相同 使用 this.

    public string Emailer Emailer { get { return _emailer; } }
    

    使用指南是什么 这个。 属性 方法 在课堂上?我知道编译后的代码没有什么不同。都是关于。。。屏住呼吸。。。最佳实践。

    3 回复  |  直到 15 年前
        1
  •  4
  •   Jon Skeet    15 年前

    做你和你的团队认为最有可读性的事情。有些人喜欢直言不讳,我只是具体说明 this 当我必须的时候。它对编译的代码没有影响。

        2
  •  2
  •   user151323 user151323    15 年前

    如果参数名和实例成员具有相同的名称,则需要使用 this .

    比如:

    public class MyClass
    {
        private string something;
    
        public void SomeMethod (string something)
        {
            this.something = something;
        }
    }
    

    在某个地方调试代码会很困难。

        3
  •  1
  •   JaredPar    15 年前

    是否使用 this 主要是一个偏好的问题,因此没有正确或错误的答案。它可以成为一个有点宗教战争,虽然与开发人员。我经常发现最好是以这样或那样的方式就团队达成一致,然后使用StyleCop来执行决策。

    就我个人而言,我更喜欢简洁和只使用 在实际需要的时候。但我选择代码库一致性而不是个人偏好,因为这是一个相当小的问题。