在我为自己开发一些编码“最佳实践”的过程中,我想问一下人们如何在类定义中安排类成员变量和getter / setter属性。我看到它有两种方式......
(1)在类广告的顶部声明类成员变量,然后在单独的部分声明获取/设置这些成员变量的属性。
Class MyClass
{
String firstName;
String lastName;
public string FirstName
{
get { return firstName; }
set { firstName = value; }
}
public string LastName
{
get { return lastName; }
set { lastName = value; }
}
}
(2)在类的顶部声明类成员变量,并在变量声明的正下方定义get / set属性。
Class MyClass
{
String firstName;
public string FirstName
{
get { return firstName; }
set { firstName = value; }
}
String lastName;
public string LastName
{
get { return lastName; }
set { lastName = value; }
}
}
虽然这可能是一个问题或个人偏好,人们倾向于遵循哪种模式,如果可能的话,请说明原因。感谢。
答案 0 :(得分:2)
如果您没有在属性get / sets中执行任何操作,请使用自动属性,如果需要,您可以随时更改它们:
public string LastName {get;set;}
就个人而言,我喜欢将所有成员变量放在类的底部,遵循客户感兴趣的东西(即公共内容)应该位于文件顶部附近。很多人似乎更喜欢把成员放在最顶层,但对我来说似乎总是有点倒退:)
答案 1 :(得分:0)
我更喜欢选项编号1,然后我在Fields区域中包围字段,在Properties区域中包含属性,构造函数,方法等等。当然,区域允许您折叠部分代码以进一步提高可读性(如果你只想看一下构造函数。)
只是个人偏好,但课程组织得很好。
答案 2 :(得分:0)
虽然这取决于个人喜好,但我更喜欢选项1,但私人会员更喜欢。推理:API比实施更重要:
class MyClass
{
public string FirstName
{
get { return firstName; }
set { firstName = value; }
}
public string LastName
{
get { return lastName; }
set { lastName = value; }
}
String firstName;
String lastName;
}