我正在处理一些代码,其中有很多这样的代码:
private int x;
public void SetX(int new_x)
{
this.SetXValue(new_x);
}
private void SetXValue(int new_x)
{
this.x = new_x;
}
以及类似的属性:
private int x;
public int X
{
get { return this.GetX(); }
}
private int GetX()
{
return this.x;
}
我不明白的是为什么需要用于实际工作的私有方法,即为什么不仅仅拥有这样的方法:
public void SetX(int new_x)
{
this.x = new_x;
}
public int X
{
get { return this.x; }
}
是其他人的个人选择还是使用第一种方法有充分的理由吗?
(我手动输入了上面的代码,如果有任何错误,抱歉,但是您应该希望看到我要说的话)
干杯
一种
最佳答案
据我所知,没有理由使用这样的代码。如果您不使用新值做任何事情(例如在存储之前进行处理/检查),并且正在编写C#3.0,则实际上可以将其简化为:
public int MyProperty { get; set; }
编译器会为您创建后备存储,您可以参考:
this.MyProperty
...在您的课堂内。您还可以创建仅获取属性,例如:
public int MyProperty { get; private set; }
我认为所有这些都非常整洁!
关于c# - C#getters setters样式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9735670/