我正在阅读有关XNA的教程,它使用以下代码:
private int score = 0;
public int Score
{
get { return score; }
set { score = value; }
}
Run Code Online (Sandbox Code Playgroud)
使用房产有什么意义?为什么不用public int Score = 0;?
小智 6
我会在这里使用自动属性:
public int Score { get; protected set; }
Run Code Online (Sandbox Code Playgroud)
因为它是"减少打字的同样的事情"(但实际上可能更好,因为它限制谁可以设置分数;-)
属性的一些原因(超过公共成员变量):
属性允许单独设置getter和setter的可见性,如上所示.
可以在Interfaces中指定属性.(你是针对接口编程的......对吧?;-)
在属性和成员变量之间切换会破坏ABI(应用程序二进制接口:例如需要重新编译).但是,可以在不破坏ABI 的情况下重新定义现有Property的实现.
可以在"属性"中设置断点.偶尔非常方便.
| 归档时间: |
|
| 查看次数: |
230 次 |
| 最近记录: |