我正在处理一些代码,其中有很多这样的代码:

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/

10-11 19:40