17.6 Properties

王朝other·作者佚名  2006-05-09
窄屏简体版  字體: |||超大  

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.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航