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.4 Fields Paragraph 11 A field is a member that represents a variable associated with an object or class. 2 A field-declaration introduces one or more fields of a given type. field-declaration : attributesopt field-modifiersopt type variable-declarators ; field-modifiers : field-modifier field-modifiers field-modifier field-modifier : new public protected internal private static readonly volatile variable-declarators : variable-declarator variable-declarators , variable-declarator variable-declarator : identifier identifier = variable-initializer variable-initializer : expression array-initializer Paragraph 21 A field-declaration may include a set of attributes (§24), a new modifier (§17.2.2), a valid combination of the four access modifiers (§17.2.3), and a static modifier (§17.4.1). 2 In addition, a field-declaration may include a readonly modifier (§17.4.2) or a volatile modifier (§17.4.3), but not both The attributes and modifiers apply to all of the members declared by the field-declaration. 3 It is an error for the same modifier to appear multiple times in a field declaration. Paragraph 31 The type of a field-declaration specifies the type of the members introduced by the declaration. 2 The type is followed by a list of variable-declarators, each of which introduces a new member. 3 A variable-declarator consists of an identifier that names that member, optionally followed by an "=" token and a variable-initializer (§17.4.5) that gives the initial value of that member. Paragraph 41 The type of a field must be at least as accessible as the field itself (§10.5.4). Paragraph 51 The value of a field is obtained in an expression using a simple-name (§14.5.2) or a member-access (§14.5.4). 2 The value of a non-readonly field is modified using an assignment (§14.13). 3 The value of a non-readonly field can be both obtained and modified using postfix increment and decrement operators (§14.5.9) and prefix increment and decrement operators (§14.6.5). Paragraph 61 A field declaration that declares multiple fields is equivalent to multiple declarations of single fields with the same attributes, modifiers, and type. [Example: For example
class A  
{  
   public static int X = 1, Y, Z = 100;  
}  
is equivalent to
class A  
{  
   public static int X = 1;  
   public static int Y;  
   public static int Z = 100;  
}  
end example]
{ JSL }
Jagger Software Ltd
Company # 4070126
VAT # 762 5213 42
Valid HTML 4.01Valid CSS