C# 中的属性与索引器详解
1. 属性基础
在 C# 里,类和结构体能够定义属性,属性本质上是伪装的方法。访问属性时,使用的语法类似字段访问,但实际上会调用方法。属性可用于表明意图,当某个东西以属性形式暴露时,意味着它代表对象的信息,而非对象执行的操作,所以读取属性通常开销不大,且不应有显著的副作用。
属性一般提供一对方法:一个用于获取值,另一个用于设置值。以下是一个简单属性的示例:
public class HasProperty
{
private int _x;
public int X
{
get
{
return _x;
}
set
{
_x = value;
}
}
}
在 set 访问器中, value 有特殊含义,它是一个上下文关键字,在属性外部可作为标识符使用,但在属性内部,它代表调用者要赋给属性的值。
如果 get 的整个主体只是一个返回语句,或者 set 是一个单表达式语句,可使用表达式体成员语法,示例如下:
public class HasProperty
{
private int _x;
public int X
{
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



