Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Table of Contents





Language Specification

Version 5.0


Notice

© 1999-2012 Microsoft Corporation. All rights reserved.

Microsoft, Windows, Visual Basic, Visual C#, and Visual C++ are either registered trademarks or trademarks of Microsoft Corporation in the U.S.A. and/or other countries/regions.

Other product and company names mentioned herein may be the trademarks of their respective owners.


Table of Contents

1. Introduction.......................................................................................................................................... 1

1.1 Hello world....................................................................................................................................... 1

1.2 Program structure.............................................................................................................................. 2

1.3 Types and variables.......................................................................................................................... 4

1.4 Expressions....................................................................................................................................... 6

1.5 Statements......................................................................................................................................... 8

1.6 Classes and objects......................................................................................................................... 12

1.6.1 Members.................................................................................................................................. 12

1.6.2 Accessibility............................................................................................................................. 13

1.6.3 Type parameters....................................................................................................................... 13

1.6.4 Base classes.............................................................................................................................. 14

1.6.5 Fields........................................................................................................................................ 14

1.6.6 Methods................................................................................................................................... 15

1.6.6.1 Parameters.......................................................................................................................... 15

1.6.6.2 Method body and local variables....................................................................................... 16

1.6.6.3 Static and instance methods............................................................................................... 17

1.6.6.4 Virtual, override, and abstract methods.............................................................................. 18

1.6.6.5 Method overloading........................................................................................................... 20

1.6.7 Other function members........................................................................................................... 21

1.6.7.1 Constructors....................................................................................................................... 22

1.6.7.2 Properties........................................................................................................................... 23

1.6.7.3 Indexers............................................................................................................................. 23

1.6.7.4 Events................................................................................................................................ 24

1.6.7.5 Operators........................................................................................................................... 24

1.6.7.6 Destructors......................................................................................................................... 25

1.7 Structs............................................................................................................................................. 25

1.8 Arrays............................................................................................................................................. 26

1.9 Interfaces........................................................................................................................................ 27

1.10 Enums........................................................................................................................................... 29

1.11 Delegates...................................................................................................................................... 30

1.12 Attributes...................................................................................................................................... 31

2. Lexical structure................................................................................................................................. 33

2.1 Programs......................................................................................................................................... 33

2.2 Grammars....................................................................................................................................... 33

2.2.1 Grammar notation.................................................................................................................... 33

2.2.2 Lexical grammar....................................................................................................................... 34

2.2.3 Syntactic grammar.................................................................................................................... 34

2.3 Lexical analysis.............................................................................................................................. 34

2.3.1 Line terminators....................................................................................................................... 35

2.3.2 Comments................................................................................................................................ 35

2.3.3 White space.............................................................................................................................. 37

2.4 Tokens............................................................................................................................................ 37

2.4.1 Unicode character escape sequences........................................................................................ 37

2.4.2 Identifiers................................................................................................................................. 38

2.4.3 Keywords................................................................................................................................. 39

2.4.4 Literals..................................................................................................................................... 40

2.4.4.1 Boolean literals.................................................................................................................. 40

2.4.4.2 Integer literals..................................................................................................................... 40

2.4.4.3 Real literals........................................................................................................................ 41

2.4.4.4 Character literals................................................................................................................ 42

2.4.4.5 String literals...................................................................................................................... 43

2.4.4.6 The null literal.................................................................................................................... 45

2.4.5 Operators and punctuators........................................................................................................ 45

2.5 Pre-processing directives................................................................................................................. 45

2.5.1 Conditional compilation symbols............................................................................................. 46

2.5.2 Pre-processing expressions....................................................................................................... 47

2.5.3 Declaration directives............................................................................................................... 47

2.5.4 Conditional compilation directives........................................................................................... 48

2.5.5 Diagnostic directives................................................................................................................ 51

2.5.6 Region directives...................................................................................................................... 51

2.5.7 Line directives.......................................................................................................................... 52

2.5.8 Pragma directives..................................................................................................................... 52

2.5.8.1 Pragma warning.................................................................................................................. 53

3. Basic concepts..................................................................................................................................... 55

3.1 Application Startup......................................................................................................................... 55

3.2 Application termination.................................................................................................................. 56

3.3 Declarations.................................................................................................................................... 56

3.4 Members......................................................................................................................................... 58

3.4.1 Namespace members................................................................................................................ 58

3.4.2 Struct members......................................................................................................................... 59

3.4.3 Enumeration members.............................................................................................................. 59

3.4.4 Class members......................................................................................................................... 59

3.4.5 Interface members.................................................................................................................... 60

3.4.6 Array members......................................................................................................................... 60

3.4.7 Delegate members.................................................................................................................... 60

3.5 Member access............................................................................................................................... 60

3.5.1 Declared accessibility............................................................................................................... 60

3.5.2 Accessibility domains............................................................................................................... 61

3.5.3 Protected access for instance members..................................................................................... 63

3.5.4 Accessibility constraints........................................................................................................... 64

3.6 Signatures and overloading............................................................................................................. 65

3.7 Scopes............................................................................................................................................ 66

3.7.1 Name hiding............................................................................................................................. 69

3.7.1.1 Hiding through nesting....................................................................................................... 69

3.7.1.2 Hiding through inheritance................................................................................................. 70

3.8 Namespace and type names............................................................................................................ 71

3.8.1 Fully qualified names............................................................................................................... 73

3.9 Automatic memory management.................................................................................................... 73

3.10 Execution order............................................................................................................................ 76

4. Types................................................................................................................................................... 77

4.1 Value types..................................................................................................................................... 77

4.1.1 The System.ValueType type..................................................................................................... 78

4.1.2 Default constructors................................................................................................................. 78

4.1.3 Struct types............................................................................................................................... 79

4.1.4 Simple types............................................................................................................................. 79

4.1.5 Integral types............................................................................................................................ 80

4.1.6 Floating point types.................................................................................................................. 81

4.1.7 The decimal type...................................................................................................................... 82

4.1.8 The bool type........................................................................................................................... 83

4.1.9 Enumeration types.................................................................................................................... 83

4.1.10 Nullable types........................................................................................................................ 83

4.2 Reference types.............................................................................................................................. 83

4.2.1 Class types............................................................................................................................... 84

4.2.2 The object type......................................................................................................................... 85

4.2.3 The dynamic type..................................................................................................................... 85

4.2.4 The string type.......................................................................................................................... 85

4.2.5 Interface types.......................................................................................................................... 85

4.2.6 Array types............................................................................................................................... 85

4.2.7 Delegate types.......................................................................................................................... 85

4.3 Boxing and unboxing...................................................................................................................... 86

4.3.1 Boxing conversions.................................................................................................................. 86

4.3.2 Unboxing conversions.............................................................................................................. 87

4.4 Constructed types........................................................................................................................... 88

4.4.1 Type arguments........................................................................................................................ 89

4.4.2 Open and closed types............................................................................................................. 89

4.4.3 Bound and unbound types....................................................................................................... 89

4.4.4 Satisfying constraints................................................................................................................ 89

4.5 Type parameters............................................................................................................................. 90

4.6 Expression tree types...................................................................................................................... 91

4.7 The dynamic type........................................................................................................................... 92

5. Variables............................................................................................................................................. 93

5.1 Variable categories.......................................................................................................................... 93

5.1.1 Static variables......................................................................................................................... 93

5.1.2 Instance variables..................................................................................................................... 93

5.1.2.1 Instance variables in classes............................................................................................... 93

5.1.2.2 Instance variables in structs................................................................................................ 94

5.1.3 Array elements......................................................................................................................... 94

5.1.4 Value parameters...................................................................................................................... 94

5.1.5 Reference parameters............................................................................................................... 94

5.1.6 Output parameters.................................................................................................................... 94

5.1.7 Local variables......................................................................................................................... 95

5.2 Default values................................................................................................................................. 96

5.3 Definite assignment........................................................................................................................ 96

5.3.1 Initially assigned variables........................................................................................................ 97

5.3.2 Initially unassigned variables.................................................................................................... 97

5.3.3 Precise rules for determining definite assignment..................................................................... 97

5.3.3.1 General rules for statements............................................................................................... 98

5.3.3.2 Block statements, checked, and unchecked statements...................................................... 98

5.3.3.3 Expression statements........................................................................................................ 98

5.3.3.4 Declaration statements....................................................................................................... 98

5.3.3.5 If statements....................................................................................................................... 98

5.3.3.6 Switch statements............................................................................................................... 99

5.3.3.7 While statements................................................................................................................ 99

5.3.3.8 Do statements..................................................................................................................... 99

5.3.3.9 For statements.................................................................................................................. 100

5.3.3.10 Break, continue, and goto statements............................................................................. 100

5.3.3.11 Throw statements........................................................................................................... 100

5.3.3.12 Return statements........................................................................................................... 100

5.3.3.13 Try-catch statements...................................................................................................... 100

5.3.3.14 Try-finally statements.................................................................................................... 101

5.3.3.15 Try-catch-finally statements........................................................................................... 101

5.3.3.16 Foreach statements......................................................................................................... 102

5.3.3.17 Using statements............................................................................................................ 102

5.3.3.18 Lock statements............................................................................................................. 102

5.3.3.19 Yield statements............................................................................................................. 103

5.3.3.20 General rules for simple expressions.............................................................................. 103

5.3.3.21 General rules for expressions with embedded expressions............................................. 103

5.3.3.22 Invocation expressions and object creation expressions................................................. 103

5.3.3.23 Simple assignment expressions...................................................................................... 104

5.3.3.24 && expressions............................................................................................................. 104

5.3.3.25 || expressions.................................................................................................................. 105

5.3.3.26! expressions.................................................................................................................. 106

5.3.3.27?? expressions................................................................................................................ 106

5.3.3.28?: expressions................................................................................................................. 106

5.3.3.29 Anonymous functions.................................................................................................... 107

5.4 Variable references....................................................................................................................... 107

5.5 Atomicity of variable references................................................................................................... 107

6. Conversions...................................................................................................................................... 109

6.1 Implicit conversions...................................................................................................................... 109

6.1.1 Identity conversion................................................................................................................. 109

6.1.2 Implicit numeric conversions................................................................................................. 110

6.1.3 Implicit enumeration conversions........................................................................................... 110

6.1.4 Implicit nullable conversions.................................................................................................. 110

6.1.5 Null literal conversions........................................................................................................... 111

6.1.6 Implicit reference conversions............................................................................................... 111

6.1.7 Boxing conversions................................................................................................................ 111

6.1.8 Implicit dynamic conversions................................................................................................. 112

6.1.9 Implicit constant expression conversions............................................................................... 112

6.1.10 Implicit conversions involving type parameters.................................................................... 112

6.1.11 User-defined implicit conversions........................................................................................ 113

6.1.12 Anonymous function conversions and method group conversions...................................... 113

6.2 Explicit conversions...................................................................................................................... 113

6.2.1 Explicit numeric conversions................................................................................................. 114

6.2.2 Explicit enumeration conversions........................................................................................... 115

6.2.3 Explicit nullable conversions.................................................................................................. 115

6.2.4 Explicit reference conversions............................................................................................... 116

6.2.5 Unboxing conversions............................................................................................................ 117

6.2.6 Explicit dynamic conversions................................................................................................. 117

6.2.7 Explicit conversions involving type parameters...................................................................... 118

6.2.8 User-defined explicit conversions.......................................................................................... 119

6.3 Standard conversions.................................................................................................................... 119

6.3.1 Standard implicit conversions................................................................................................. 119

6.3.2 Standard explicit conversions................................................................................................. 119

6.4 User-defined conversions............................................................................................................. 119

6.4.1 Permitted user-defined conversions........................................................................................ 119

6.4.2 Lifted conversion operators.................................................................................................... 120

6.4.3 Evaluation of user-defined conversions................................................................................. 120

6.4.4 User-defined implicit conversions.......................................................................................... 121

6.4.5 User-defined explicit conversions.......................................................................................... 122

6.5 Anonymous function conversions................................................................................................ 123

6.5.1 Evaluation of anonymous function conversions to delegate types......................................... 124

6.5.2 Evaluation of anonymous function conversions to expression tree types............................... 124

6.5.3 Implementation example........................................................................................................ 124

6.6 Method group conversions............................................................................................................ 127

7. Expressions....................................................................................................................................... 131

7.1 Expression classifications............................................................................................................. 131

7.1.1 Values of expressions............................................................................................................ 132

7.2 Static and Dynamic Binding.......................................................................................................... 132

7.2.1 Binding-time........................................................................................................................... 133

7.2.2 Dynamic binding.................................................................................................................... 133

7.2.3 Types of constituent expressions............................................................................................ 133

7.3 Operators...................................................................................................................................... 134

7.3.1 Operator precedence and associativity................................................................................... 134

7.3.2 Operator overloading.............................................................................................................. 135

7.3.3 Unary operator overload resolution........................................................................................ 136

7.3.4 Binary operator overload resolution....................................................................................... 137

7.3.5 Candidate user-defined operators........................................................................................... 137

7.3.6 Numeric promotions............................................................................................................... 137

7.3.6.1 Unary numeric promotions.............................................................................................. 138

7.3.6.2 Binary numeric promotions.............................................................................................. 138

7.3.7 Lifted operators...................................................................................................................... 139

7.4 Member lookup............................................................................................................................ 139

7.4.1 Base types.............................................................................................................................. 141

7.5 Function members........................................................................................................................ 141

7.5.1 Argument lists........................................................................................................................ 143

7.5.1.1 Corresponding parameters................................................................................................ 144

7.5.1.2 Run-time evaluation of argument lists.............................................................................. 145

7.5.2 Type inference....................................................................................................................... 147

7.5.2.1 The first phase................................................................................................................. 147

7.5.2.2 The second phase............................................................................................................. 148

7.5.2.3 Input types....................................................................................................................... 148

7.5.2.4 Output types..................................................................................................................... 148

7.5.2.5 Dependence..................................................................................................................... 148

7.5.2.6 Output type inferences..................................................................................................... 148

7.5.2.7 Explicit parameter type inferences................................................................................... 148

7.5.2.8 Exact inferences............................................................................................................... 149

7.5.2.9 Lower-bound inferences.................................................................................................. 149

7.5.2.10 Upper-bound inferences................................................................................................ 150

7.5.2.11 Fixing............................................................................................................................. 150

7.5.2.12 Inferred return type........................................................................................................ 150

7.5.2.13 Type inference for conversion of method groups.......................................................... 151

7.5.2.14 Finding the best common type of a set of expressions................................................... 152

7.5.3 Overload resolution................................................................................................................ 152

7.5.3.1 Applicable function member............................................................................................ 153

7.5.3.2 Better function member................................................................................................... 153

7.5.3.3 Better conversion from expression................................................................................... 154

7.5.3.4 Better conversion from type............................................................................................. 155

7.5.3.5 Better conversion target.................................................................................................... 155

7.5.3.6 Overloading in generic classes......................................................................................... 155

7.5.4 Compile-time checking of dynamic overload resolution........................................................ 155

7.5.5 Function member invocation.................................................................................................. 156

7.5.5.1 Invocations on boxed instances....................................................................................... 157

7.6 Primary expressions...................................................................................................................... 157

7.6.1 Literals................................................................................................................................... 158

7.6.2 Simple names......................................................................................................................... 158

7.6.2.1 Invariant meaning in blocks............................................................................................. 159

7.6.3 Parenthesized expressions...................................................................................................... 160

7.6.4 Member access....................................................................................................................... 161

7.6.4.1 Identical simple names and type names........................................................................... 162

7.6.4.2 Grammar ambiguities....................................................................................................... 163

7.6.5 Invocation expressions........................................................................................................... 164

7.6.5.1 Method invocations.......................................................................................................... 164

7.6.5.2 Extension method invocations......................................................................................... 165

7.6.5.3 Delegate invocations........................................................................................................ 168

7.6.6 Element access....................................................................................................................... 168

7.6.6.1 Array access..................................................................................................................... 168

7.6.6.2 Indexer access.................................................................................................................. 169

7.6.7 This access............................................................................................................................. 170

7.6.8 Base access............................................................................................................................ 170

7.6.9 Postfix increment and decrement operators............................................................................ 171

7.6.10 The new operator................................................................................................................. 172

7.6.10.1 Object creation expressions............................................................................................ 172

7.6.10.2 Object initializers........................................................................................................... 173

7.6.10.3 Collection initializers...................................................................................................... 175

7.6.10.4 Array creation expressions............................................................................................. 176

7.6.10.5 Delegate creation expressions........................................................................................ 178

7.6.10.6 Anonymous object creation expressions........................................................................ 180

7.6.11 The typeof operator.............................................................................................................. 181

7.6.12 The checked and unchecked operators................................................................................. 183

7.6.13 Default value expressions.................................................................................................... 185

7.6.14 Anonymous method expressions.......................................................................................... 185

7.7 Unary operators............................................................................................................................ 186

7.7.1 Unary plus operator................................................................................................................ 186

7.7.2 Unary minus operator............................................................................................................. 186

7.7.3 Logical negation operator....................................................................................................... 187

7.7.4 Bitwise complement operator................................................................................................. 187

7.7.5 Prefix increment and decrement operators............................................................................. 187

7.7.6 Cast expressions..................................................................................................................... 188

7.8 Arithmetic operators..................................................................................................................... 189

7.8.1 Multiplication operator........................................................................................................... 189

7.8.2 Division operator.................................................................................................................... 190

7.8.3 Remainder operator................................................................................................................ 191

7.8.4 Addition operator................................................................................................................... 192

7.8.5 Subtraction operator............................................................................................................... 194

7.9 Shift operators.............................................................................................................................. 195

7.10 Relational and type-testing operators.......................................................................................... 197

7.10.1 Integer comparison operators............................................................................................... 197

7.10.2 Floating-point comparison operators.................................................................................... 198

7.10.3 Decimal comparison operators............................................................................................. 199

7.10.4 Boolean equality operators................................................................................................... 199

7.10.5 Enumeration comparison operators...................................................................................... 199

7.10.6 Reference type equality operators........................................................................................ 199

7.10.7 String equality operators....................................................................................................... 201

7.10.8 Delegate equality operators.................................................................................................. 201

7.10.9 Equality operators and null................................................................................................... 202

7.10.10 The is operator................................................................................................................... 202

7.10.11 The as operator................................................................................................................... 202

7.11 Logical operators........................................................................................................................ 203

7.11.1 Integer logical operators....................................................................................................... 204

7.11.2 Enumeration logical operators.............................................................................................. 204

7.11.3 Boolean logical operators..................................................................................................... 204

7.11.4 Nullable boolean logical operators....................................................................................... 204

7.12 Conditional logical operators...................................................................................................... 205

7.12.1 Boolean conditional logical operators................................................................................... 206

7.12.2 User-defined conditional logical operators........................................................................... 206

7.13 The null coalescing operator....................................................................................................... 206

7.14 Conditional operator................................................................................................................... 207

7.15 Anonymous function expressions............................................................................................... 208

7.15.1 Anonymous function signatures........................................................................................... 210

7.15.2 Anonymous function bodies................................................................................................ 210

7.15.3 Overload resolution.............................................................................................................. 211

7.15.4 Anonymous functions and dynamic binding........................................................................ 211

7.15.5 Outer variables..................................................................................................................... 211

7.15.5.1 Captured outer variables................................................................................................ 212

7.15.5.2 Instantiation of local variables....................................................................................... 212

7.15.6 Evaluation of anonymous function expressions................................................................... 214

7.16 Query expressions...................................................................................................................... 215

7.16.1 Ambiguities in query expressions......................................................................................... 216

7.16.2 Query expression translation................................................................................................ 216

7.16.2.1 Select and groupby clauses with continuations............................................................... 217

7.16.2.2 Explicit range variable types.......................................................................................... 217

7.16.2.3 Degenerate query expressions........................................................................................ 218

7.16.2.4 From, let, where, join and orderby clauses..................................................................... 218

7.16.2.5 Select clauses................................................................................................................. 221

7.16.2.6 Groupby clauses............................................................................................................ 222

7.16.2.7 Transparent identifiers................................................................................................... 222

7.16.3 The query expression pattern............................................................................................... 223

7.17 Assignment operators.................................................................................................................. 224

7.17.1 Simple assignment................................................................................................................ 225

7.17.2 Compound assignment......................................................................................................... 227

7.17.3 Event assignment.................................................................................................................. 228

7.18 Expression.................................................................................................................................. 228

7.19 Constant expressions.................................................................................................................. 228

7.20 Boolean expressions................................................................................................................... 230

8. Statements......................................................................................................................................... 231

8.1 End points and reachability........................................................................................................... 231

8.2 Blocks........................................................................................................................................... 233

8.2.1 Statement lists......................................................................................................................... 233

8.3 The empty statement..................................................................................................................... 234

8.4 Labeled statements........................................................................................................................ 234

8.5 Declaration statements.................................................................................................................. 235

8.5.1 Local variable declarations..................................................................................................... 235

8.5.2 Local constant declarations.................................................................................................... 236

8.6 Expression statements................................................................................................................... 237

8.7 Selection statements...................................................................................................................... 237

8.7.1 The if statement...................................................................................................................... 237

8.7.2 The switch statement.............................................................................................................. 238

8.8 Iteration statements....................................................................................................................... 241

8.8.1 The while statement................................................................................................................ 242

8.8.2 The do statement.................................................................................................................... 242

8.8.3 The for statement................................................................................................................... 243

8.8.4 The foreach statement............................................................................................................ 244

8.9 Jump statements............................................................................................................................ 246

8.9.1 The break statement............................................................................................................... 247

8.9.2 The continue statement........................................................................................................... 248

8.9.3 The goto statement................................................................................................................. 248

8.9.4 The return statement............................................................................................................... 250

8.9.5 The throw statement............................................................................................................... 250

8.10 The try statement........................................................................................................................ 251

8.11 The checked and unchecked statements..................................................................................... 254

8.12 The lock statement...................................................................................................................... 254

8.13 The using statement.................................................................................................................... 255

8.14 The yield statement..................................................................................................................... 257

9. Namespaces....................................................................................................................................... 259

9.1 Compilation units.......................................................................................................................... 259

9.2 Namespace declarations................................................................................................................ 259

9.3 Extern aliases................................................................................................................................ 260

9.4 Using directives............................................................................................................................ 261

9.4.1 Using alias directives.............................................................................................................. 262

9.4.2 Using namespace directives.................................................................................................... 264

9.5 Namespace members.................................................................................................................... 266

9.6 Type declarations.......................................................................................................................... 266

9.7 Namespace alias qualifiers............................................................................................................ 267

9.7.1 Uniqueness of aliases............................................................................................................. 268

10. Classes............................................................................................................................................. 269

10.1 Class declarations....................................................................................................................... 269

10.1.1 Class modifiers..................................................................................................................... 269

10.1.1.1 Abstract classes.............................................................................................................. 270

10.1.1.2 Sealed classes................................................................................................................. 270

10.1.1.3 Static classes.................................................................................................................. 270

10.1.2 Partial modifier..................................................................................................................... 271

10.1.3 Type parameters................................................................................................................... 271

10.1.4 Class base specification........................................................................................................ 272

10.1.4.1 Base classes................................................................................................................... 272

10.1.4.2 Interface implementations.............................................................................................. 274

10.1.5 Type parameter constraints................................................................................................... 274

10.1.6 Class body............................................................................................................................ 278

10.2 Partial types................................................................................................................................ 278

10.2.1 Attributes.............................................................................................................................. 278

10.2.2 Modifiers.............................................................................................................................. 279

10.2.3 Type parameters and constraints.......................................................................................... 279

10.2.4 Base class............................................................................................................................. 280

10.2.5 Base interfaces..................................................................................................................... 280

10.2.6 Members.............................................................................................................................. 280

10.2.7 Partial methods..................................................................................................................... 281

10.2.8 Name binding....................................................................................................................... 283

10.3 Class members............................................................................................................................ 283

10.3.1 The instance type................................................................................................................. 285

10.3.2 Members of constructed types.............................................................................................. 285

10.3.3 Inheritance........................................................................................................................... 286

10.3.4 The new modifier................................................................................................................. 287

10.3.5 Access modifiers.................................................................................................................. 287

10.3.6 Constituent types.................................................................................................................. 287

10.3.7 Static and instance members................................................................................................. 287

10.3.8 Nested types......................................................................................................................... 288

10.3.8.1 Fully qualified name...................................................................................................... 289

10.3.8.2 Declared accessibility..................................................................................................... 289

10.3.8.3 Hiding............................................................................................................................ 289

10.3.8.4 this access...................................................................................................................... 290

10.3.8.5 Access to private and protected members of the containing type................................... 290

10.3.8.6 Nested types in generic classes....................................................................................... 291

10.3.9 Reserved member names...................................................................................................... 292

10.3.9.1 Member names reserved for properties.......................................................................... 292

10.3.9.2 Member names reserved for events................................................................................ 293

10.3.9.3 Member names reserved for indexers............................................................................ 293

10.3.9.4 Member names reserved for destructors......................................................................... 293

10.4 Constants.................................................................................................................................... 293

10.5 Fields.......................................................................................................................................... 295

10.5.1 Static and instance fields...................................................................................................... 296

10.5.2 Readonly fields.................................................................................................................... 297

10.5.2.1 Using static readonly fields for constants....................................................................... 297

10.5.2.2 Versioning of constants and static readonly fields......................................................... 298

10.5.3 Volatile fields....................................................................................................................... 298

10.5.4 Field initialization................................................................................................................. 299

10.5.5 Variable initializers.....................................................................................







Дата добавления: 2015-09-07; просмотров: 449. Нарушение авторских прав; Мы поможем в написании вашей работы!




Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...


Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Травматическая окклюзия и ее клинические признаки При пародонтите и парадонтозе резистентность тканей пародонта падает...

Подкожное введение сывороток по методу Безредки. С целью предупреждения развития анафилактического шока и других аллергических реак­ций при введении иммунных сывороток используют метод Безредки для определения реакции больного на введение сыворотки...

Принципы и методы управления в таможенных органах Под принципами управления понимаются идеи, правила, основные положения и нормы поведения, которыми руководствуются общие, частные и организационно-технологические принципы...

Предпосылки, условия и движущие силы психического развития Предпосылки –это факторы. Факторы психического развития –это ведущие детерминанты развития чел. К ним относят: среду...

Анализ микросреды предприятия Анализ микросреды направлен на анализ состояния тех со­ставляющих внешней среды, с которыми предприятие нахо­дится в непосредственном взаимодействии...

Типы конфликтных личностей (Дж. Скотт) Дж. Г. Скотт опирается на типологию Р. М. Брансом, но дополняет её. Они убеждены в своей абсолютной правоте и хотят, чтобы...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия