属性还是方法?

时间:2012-06-19 20:46:50

标签: c# properties methods

  

可能重复:
  Properties vs Methods

我是初学C#程序员,最近发现了如何使用属性来公开成员。但是我很困惑何时在返回某个东西时使用属性作为一个方法。

我应该这样做:

public Vector2 Center {
    get {
        Vector2 screenDem = new Vector2(game.GraphicsDevice.Viewport.Width,
            game.GraphicsDevice.Viewport.Height);
        return new Vector2(screenDem.X / 2, screenDem.Y / 2);
    }
}

或者我应该这样做:

public Vector2 GetScreenCenter() {
    Vector2 screenDem = new Vector2(game.GraphicsDevice.Viewport.Width,
            game.GraphicsDevice.Viewport.Height);
    return new Vector2(screenDem.X / 2, screenDem.Y / 2);
}

我应该何时使用哪个以及为什么?

也许我只是在想这个太难了,没关系,我不知道。

感谢。

1 个答案:

答案 0 :(得分:2)

如果你只想获得并设置一个值,那么属性是最好的。

public DateTime TheCurrentTime {get; set;}

如果您需要传递参数以便修改或返回某些内容,那么方法最好。

public DateTime HowManyDaysUntilMyBirthday(Datetime MyBirthday) 
{
    return (MyBirthday - DateTime.Now());
}