17.6 Properties

A property is a member that provides access to an attribute of an object or
a class. Examples of properties include
the length of a string, the size of a font, the caption of a window, the
name of a customer, and so on. Properties
are a natural extension of fields?both are named members with associated
types, and the syntax for accessing
fields and properties is the same. However, unlike fields, properties do
not denote storage locations. Instead,
properties have accessors that specify the statements to be executed when
their values are read or written.
Properties thus provide a mechanism for associating actions with the
reading and writing of an object?s attributes;
furthermore, they permit such attributes to be computed.
Properties are declared using property-declarations:
property-declaration:
attributesopt property-modifiersopt type member-name {
accessor-declarations }
property-modifiers:
property-modifier
property-modifiers property-modifier
C# LANGUAGE SPECIFICATION
240
property-modifier:
new
public
protected
internal
private
static
virtual
sealed
override
abstract
extern
member-name:
identifier
interface-type . identifier
A property-declaration may include a set of attributes (§24) and a valid
combination of the four access modifiers
(§17.2.3), the new (§17.2.2), static (§17.6.1), virtual (§17.5.3, §17.6.
3), override (§17.5.4, §17.6.3),
sealed (§17.5.5), abstract (§17.5.6, §17.6.3), and extern modifiers.
Property declarations are subject to the same rules as method declarations (
§17.5) with regard to valid
combinations of modifiers.
The type of a property declaration specifies the type of the property
introduced by the declaration, and the
member-name specifies the name of the property. Unless the property is an
explicit interface member
implementation, the member-name is simply an identifier. For an explicit
interface member implementation
(§20.4.1), the member-name consists of an interface-type followed by a ?.?
and an identifier.
The type of a property must be at least as accessible as the property
itself (§10.5.4).
The accessor-declarations, which must be enclosed in ?{? and ?}? tokens,
declare the accessors (§17.6.2) of the
property. The accessors specify the executable statements associated with
reading and writing the property.
Even though the syntax for accessing a property is the same as that for a
field, a property is not classified as a
variable. Thus, it is not possible to pass a property as a ref or out
argument.
When a property declaration includes an extern modifier, the property is
said to be an external property.
Because an external property declaration provides no actual implementation,
each of its accessor-declarations
consists of a semicolon.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值