C#样式问题,ctor变量名称&类属性名称

时间:2010-08-19 20:01:48

标签: c# naming-conventions coding-style

尝试按照本书做的一切,这是正确的吗?:

public class JollyHockey
{
    public string AnotherCoolProperty { get { return anotherCoolProperty; } }

    string anotherCoolProperty;

    public JollyHockey(string anotherCoolProperty)
    {
         this.anotherCoolProperty = anotherCoolProperty;
    }
}

或者有些人使用下划线作为私有类变量吗?

4 个答案:

答案 0 :(得分:4)

或者你可以这样做:

public class JollyHockey
{
    public string AnotherCoolProperty { get; private set; }

    public JollyHockey(string anotherCoolProperty)
    {
        this.AnotherCoolProperty = anotherCoolProperty;
    }
}

答案 1 :(得分:4)

有些人(包括我自己)使用下划线为私有类变量添加前缀(仅作为在何处使用的可视指示)。

这主要是个人(或团队)级别的考虑因素,您可以使用您想要的(或您的团队标准化的内容)。

确保你一致!

对于它的价值,您也可以使用自动属性作为示例:

public class JollyHockey
{
    public string AnotherCoolProperty { get; private set; }
    public JollyHockey(string anotherCoolProperty)
    {
        AnotherCoolProperty = anotherCoolProperty;
    }
}

答案 2 :(得分:0)

我相信您的示例与MS编码指南一致。但是,我不喜欢它,这是你的团队可以达成一致的事情。

我不喜欢它的原因是因为底层字段名称经常与方法参数冲突。我使用下划线表明它们是私有变量。

答案 3 :(得分:0)

当函数参数与私有字段同名时,

我通常在参数前加上下划线

我认为这很有意义

ReSharper的事情通过fletcher是一个好主意