Jon Jagger
jon@jaggersoft.com
Table of Contents 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Notes DownloadECMA-334 C# Language Specificationpreviousnextprevious at this levelnext at this level 17 Classesprevious at this levelnext at this level 17.6 Properties Paragraph 11 A property is a member that provides access to an attribute of an object or a class. 2 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. 3 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. 4 However, unlike fields, properties do not denote storage locations. 5 Instead, properties have accessors that specify the statements to be executed when their values are read or written. 6 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. Paragraph 21 Properties are declared using property-declarations: property-declaration : attributesopt property-modifiersopt type member-name { accessor-declarations } property-modifiers : property-modifier property-modifiers property-modifier property-modifier : new public protected internal private static virtual sealed override abstract extern member-name : identifier interface-type . identifier Paragraph 31 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. Paragraph 41 Property declarations are subject to the same rules as method declarations (§17.5) with regard to valid combinations of modifiers. Paragraph 51 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. 2 Unless the property is an explicit interface member implementation, the member-name is simply an identifier. 3 For an explicit interface member implementation (§20.4.1), the member-name consists of an interface-type followed by a "." and an identifier. Paragraph 61 The type of a property must be at least as accessible as the property itself (§10.5.4). Paragraph 71 The accessor-declarations, which must be enclosed in "{" and "}" tokens, declare the accessors (§17.6.2) of the property. 2 The accessors specify the executable statements associated with reading and writing the property. Paragraph 81 Even though the syntax for accessing a property is the same as that for a field, a property is not classified as a variable. 2 Thus, it is not possible to pass a property as a ref or out argument. Paragraph 91 When a property declaration includes an extern modifier, the property is said to be an external property. 2 Because an external property declaration provides no actual implementation, each of its accessor-declarations consists of a semicolon.
{ JSL }
Jagger Software Ltd
Company # 4070126
VAT # 762 5213 42
Valid HTML 4.01Valid CSS