get的真正目的是什么,在c#中设置属性?

时间:2010-07-10 09:13:18

标签: c# properties get set

  

可能重复:
  Properties vs Methods
  C#: Public Fields versus Automatic Properties

  • get,set的真正目的是什么? c#中的属性?
  • 我应该什么时候使用get,设置属性...

2 个答案:

答案 0 :(得分:3)

您需要他们控制您的对象私有字段值。例如,如果您不想允许整数的空值或负值。此外,封装对于触发对象成员值更改时的事件非常有用。 实施例

  bool started;
    public bool Started
    {
        get { return started; }
        set
        {
            started = value;
            if (started)
                OnStarted(EventArgs.Empty);
        }

    }

另一个例子

    int positiveNumber;

    public int PositiveNumber
    {
        get { return positiveNumber; }
        set {
            if (value < 0)
                positiveNumber = 0;
            else positiveNumber = value;
        }
    }

以及只读属性的另一个实现可以如下

    int positiveNumber;

    public int PositiveNumber
    {
        get { return positiveNumber; }

    }

答案 1 :(得分:1)

您的意思是仅属性还是关键字get; set;

属性:轻松实现,属性是智能字段。聪明的是,您可以在想要获取或设置值时添加逻辑。用法示例:如果要验证要设置为属性的值,或者是否要组合来自不同字段的值而不将这些字段公开给公众。

关键字:这是一个C#简写,用于创建具有支持字段的属性(存储值的字段)。当您启动新代码并希望尽早完成界面时,它非常有用。

相关问题