代码之家  ›  专栏  ›  技术社区  ›  AndyM

在C中,通过this.xyz访问当前对象的属性。与xyz相比,xyz被认为是糟糕的样式。

  •  1
  • AndyM  · 技术社区  · 16 年前

    这是一个从不使用this.xyz结构的简单例子吗?

    5 回复  |  直到 13 年前
        1
  •  6
  •   Tim Cooper    13 年前

    只有当它违反了你的风格准则时才被认为是糟糕的风格。有时使用 this 必须在局部变量上限定成员变量:

    public MyType(int arg)
    {
        this.arg = arg;
    }
    

    这个问题也可以通过样式指南来缓解。例如,在成员前面加上“u”前缀:

    public MyType(int arg)
    {
        _arg = arg;
    }
    
        2
  •  1
  •   Jon Skeet    16 年前

    我不会说它的风格很差,但它不是特别的惯用语。

    我几乎只使用 this.foo 将参数复制到字段时:

    public Person (string name, string occupation)
    {
       this.name = name;
       this.occupation = occupation;
    }
    
        3
  •  1
  •   Will    16 年前

    我从没听说过这是一个风格问题。我以前一直这样做是为了获得智能感知,但后来我开始使用ctrl-j,然后我发现自己不必使用拐杖就可以记住对象的属性。

    可能是因为我的物品变得不那么复杂,因为我获得了更多的经验…

        4
  •  1
  •   Patrick Desjardins    16 年前

    我总是用这个。对于全局变量。这样,我就可以清楚地知道我使用的是全局变量,而不必使用像“uu”这样的前缀。

        5
  •  1
  •   Peter Rennie    16 年前

    在分析源代码时,MS工具样式警察坚持使用this.xyz(或者应该是.xyz)变量。