如何定义属性

Fai*_*ans 4 c# properties

我注意到一些开发人员将此语法用于属性:

private int someVar;
public int SomeVar
        {
            get { return someVar; }
            set { someVar= value; }
        }
Run Code Online (Sandbox Code Playgroud)

而一些开发人员使用这个:

public int SomeVar
        {
            get;
            set;
        }
Run Code Online (Sandbox Code Playgroud)

我猜两个人都会表现得相同.为了可读性,可重用性以及您可能知道的其他因素,哪一个更好并且被认为是在社区内使用的方式.

小智 5

如果您在访问或更改属性时不打算进行任何验证或其他任何操作,请使用auto属性(您的第二个示例).如果您需要验证您的setter,或在某人获取或设置该值或某种性质时调用方法,请使用您的第一个示例.如果您不需要两者,则auto属性会阻止您同时拥有属性和支持字段.