What is the real purpose of get,set properties in c#?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicates:
Properties vs Methods
C#: Public Fields versus Automatic Properties
- get,set的真正目的是什么?属性在C?
- 任何好的例子,我什么时候应该使用get,set属性…
您需要它们控制对象私有字段值。例如,如果您不想为整数允许空值或负值。此外,封装对于触发对象成员值更改事件也很有用。例子
1 2 3 4 5 6 7 8 9 10 11 12 | bool started; public bool Started { get { return started; } set { started = value; if (started) OnStarted(EventArgs.Empty); } } |
另一个例子
1 2 3 4 5 6 7 8 9 10 11 | int positiveNumber; public int PositiveNumber { get { return positiveNumber; } set { if (value < 0) positiveNumber = 0; else positiveNumber = value; } } |
另外,只读属性的另一个实现可能如下
1 2 3 4 5 6 7 | int positiveNumber; public int PositiveNumber { get { return positiveNumber; } } |
你是指属性还是关键词
属性:简单地说,属性是智能字段。聪明的人,你可以添加逻辑,当你想得到或设置的价值。用法示例:如果要验证设置为属性的值,或者要组合不同字段的值,而不将这些字段公开。
关键词:这是一个C的简写,用来创建一个带有支持字段(存储值的字段)的属性。当您开始一个新的代码并希望尽早完成接口时,它是有用的。