编程语言
首页 > 编程语言> > c# – 在没有方法的类中是否需要私有字段?

c# – 在没有方法的类中是否需要私有字段?

作者:互联网

我一直在使用ReSharper做一些清理C#代码库的工作.我一直在使用模型类中的私有字段以及公共属性.但是,我发现我可以简单地获取没有支持字段的属性并将它们转换为自动属性.这些是模型类;其中不存在影响对象中数据的方法.是否更好地使用自动属性?

编辑:包括“支持字段”的示例

public class Gizmo
{
    //this is what I call the "backing" field, only because it's "behind" the
    //publicly-accessible property and you access it through the property
    private Int32 _count;

    //and this is the property, of course
    public Int32 Count
    {
        get { return _count; }
        set { _count = value; }
    }
}

解决方法:

Is it better to just use the auto-properties

如果您的财产涉及很简单,请设置,您可以使用“自动财产”.如果我没错,编译器将在幕后创建一个私有支持字段.

如果在您的财产中,您之前正在进行某种验证;在设置之前说,那么使用具有支持字段的属性是有意义的(非自动)

一个例子是

private string name;

public string MyName {
    get {
        return name;
    }
    set {
        name = (value == null)
            ? "Anonymous" : value;
    }
}

标签:c,syntax,oop,conventions,resharper
来源: https://codeday.me/bug/20190717/1490761.html