ISO IEC 23271-2012 Information technology - Common Language Infrastructure (CLI)《信息技术 通用语言结构(CLI)》.pdf
《ISO IEC 23271-2012 Information technology - Common Language Infrastructure (CLI)《信息技术 通用语言结构(CLI)》.pdf》由会员分享,可在线阅读,更多相关《ISO IEC 23271-2012 Information technology - Common Language Infrastructure (CLI)《信息技术 通用语言结构(CLI)》.pdf(572页珍藏版)》请在麦多课文档分享上搜索。
1、 Reference number ISO/IEC 23271:2012(E) ISO/IEC 2012INTERNATIONAL STANDARD ISO/IEC 23271 Third edition 2012-02-15 Information technology Common Language Infrastructure (CLI) Technologies de linformation Infrastructure commune de langage (ICL) ISO/IEC 23271:2012(E) COPYRIGHT PROTECTED DOCUMENT ISO/IE
2、C 2012 All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or ISOs member body in the
3、 country of the requester. ISO copyright office Case postale 56 CH-1211 Geneva 20 Tel. + 41 22 749 01 11 Fax + 41 22 749 09 47 E-mail copyrightiso.org Web www.iso.org Published in Switzerland ii ISO/IEC 2012 All rights reservedISO/IEC 23271:2012(E) ISO/IEC 2012 All rights reserved. iii Table of Cont
4、ents Foreword xxi I.1 Scope 1 I.2 Conformance 2 I.3 Normative references 3 I.4 Conventions 5 I.4.1 Organization 5 I.4.2 Informative text 5 I.5 Terms and definitions 6 I.6 Overview of the Co mmon Language Infrastructure 9 I.6.1 Relationship to type safety 9 I.6.2 Relationship to managed metadata -dri
5、ven execution 10 I.6.2.1 Managed code 10 I.6.2.2 Managed data 11 I.6.2.3 Summary 11 I.7 Common Language Specification 12 I.7.1 Introduction 12 I.7.2 Views of CLS co mpliance 12 I.7.2.1 CLS framework 12 I.7.2.2 CLS consumer 13 I.7.2.3 CLS extender 13 I.7.3 CLS co mpliance 14 I.7.3.1 Marking items as
6、CLS -compliant 14 I.8 Common Type System 16 I.8.1 Relationship to object -oriented programming 19 I.8.2 Values and types 19 I.8.2.1 Value types and reference types 19 I.8.2.2 Built-in value and reference types 20 I.8.2.3 Classes, interfaces, and objects 21 I.8.2.4 Boxing and unboxing of values 21 I.
7、8.2.5 Identity and equality of values 22 I.8.3 Locations 23 I.8.3.1 Assignment-compatible locations 23 I.8.3.2 Coercion 23 I.8.3.3 Casting 24 ISO/IEC 23271:2012(E) iv ISO/IEC 2012 All rights reserved. I.8.4 Type members 24 I.8.4.1 Fields, array elements, and values 24 I.8.4.2 Methods 24 I.8.4.3 Stat
8、ic fields and static methods 25 I.8.4.4 Virtual methods 25 I.8.5 Naming 25 I.8.5.1 Valid names 25 I.8.5.2 Assemblies and scoping 26 I.8.5.3 Visibility, accessibility, and security 27 I.8.6 Contracts 30 I.8.6.1 Signatures 30 I.8.7 Assignment compatibility 34 I.8.7.1 Assignment compatibility for signa
9、ture types 37 I.8.7.2 Assignment compatibility for location types 38 I.8.7.3 General assignment compatibility 39 I.8.8 Type safety and verification 39 I.8.9 Type definers 39 I.8.9.1 Array types 40 I.8.9.2 Unmanaged pointer types 41 I.8.9.3 Delegates 41 I.8.9.4 Interface type definition 42 I.8.9.5 Cl
10、ass type definition 43 I.8.9.6 Object type definitions 44 I.8.9.7 Value type definition 47 I.8.9.8 Type inheritance 47 I.8.9.9 Object type inheritance 47 I.8.9.10 Value type inheritance 48 I.8.9.11 Interface type derivation 48 I.8.10 Member inheritance 48 I.8.10.1 Field inheritance 48 I.8.10.2 Metho
11、d inheritance 48 I.8.10.3 Property and event inheritance 49 I.8.10.4 Hiding, overriding, and layout 49 I.8.11 Member definitions 50 I.8.11.1 Method definitions 50 I.8.11.2 Field definitions 51 I.8.11.3 Property definitions 51 I.8.11.4 Event definitions 52 I.8.11.5 Nested type definitions 52 ISO/IEC
12、23271:2012(E) ISO/IEC 2012 All rights reserved. v I.9 Metadata 53 I.9.1 Components and assemblies 53 I.9.2 Accessing metadata 53 I.9.2.1 Metadata tokens 54 I.9.2.2 Member signatures in metadata 54 I.9.3 Unmanaged code 54 I.9.4 Method implementation metadata 54 I.9.5 Class layout 55 I.9.6 Assemblies:
13、 name scopes for types 55 I.9.7 Metadata extensibility 56 I.9.8 Globals, imports, and exports 57 I.9.9 Scoped statics 58 I.10 Name and type rules for the Co mmon Language Specification 59 I.10.1 Identifiers 59 I.10.2 Overloading 59 I.10.3 Operator overloading 60 I.10.3.1 Unary operators 60 I.10.3.2
14、Binary operators 61 I.10.3.3 Conversion operators 62 I.10.4 Naming patterns 62 I.10.5 Exceptions 63 I.10.6 Custom attributes 63 I.10.7 Generic types and methods 64 I.10.7.1 Nested type parameter re -declaration 64 I.10.7.2 Type names and arity encoding 65 I.10.7.3 Type constraint re -declaration 66
15、I.10.7.4 Constraint type restrictions 67 I.10.7.5 Frameworks and accessibility of nested types 67 I.10.7.6 Frameworks and abstract or virtual methods 68 I.11 Collected Co mmon Language Specification rules 69 I.12 Virtual Execution System 72 I.12.1 Supported data types 72 I.12.1.1 Native size: native
16、 int, native unsigned int, O and & 73 I.12.1.2 Handling of short integer data types 74 I.12.1.3 Handling of floating -point data types 75 I.12.1.4 CIL instructions and numeric types 76 I.12.1.5 CIL instructions and pointer types 77 I.12.1.6 Aggregate data 78 ISO/IEC 23271:2012(E) vi ISO/IEC 2012 All
17、 rights reserved. I.12.2 Module information 81 I.12.3 Machine state 81 I.12.3.1 The global state 81 I.12.3.2 Method state 82 I.12.4 Control flow 85 I.12.4.1 Method calls 86 I.12.4.2 Exception handling 89 I.12.5 Proxies and remoting 99 I.12.6 Memory model and optimizations 100 I.12.6.1 The memory sto
18、re 100 I.12.6.2 Alignment 100 I.12.6.3 Byte ordering 100 I.12.6.4 Optimization 100 I.12.6.5 Locks and threads 101 I.12.6.6 Atomic reads and writes 102 I.12.6.7 Volatile reads and writes 102 I.12.6.8 Other memory model issues 103 II.1 Introduction 105 II.2 Overview 106 II.3 Validation and verificatio
19、n 107 II.4 Introductory exa mples 108 II.4.1 108 II.4.2 Other examples 108 II.5 General syntax 109 II.5.1 General syntax notation 109 II.5.2 Basic syntax categories 109 II.5.3 Identifiers 110 II.5.4 Labels and lists of labels 111 II.5.5 Lists of hex bytes 111 II.5.6 Floating-point numbers 111 II.5.7
20、 Source line information 112 II.5.8 File names 112 II.5.9 Attributes and metadata 112 II.5.10 ilasm source files 112 II.6 Assemblies, manifests and modules 114 II.6.1 Overview of modules, assemblies, and files 114 II.6.2 Defining an assembly 115 II.6.2.1 Information about the assembly ( AsmDecl) 115
21、 ISO/IEC 23271:2012(E) ISO/IEC 2012 All rights reserved. vii II.6.2.2 Manifest resources 118 II.6.2.3 Associating files with an assembly 118 II.6.3 Referencing assemblies 118 II.6.4 Declaring modules 119 II.6.5 Referencing modules 120 II.6.6 Declarations inside a module or assembly 120 II.6.7 Export
22、ed type definitions 120 II.6.8 Type forwarders 121 II.7 Types and signatures 122 II.7.1 Types 122 II.7.1.1 modreq and modopt 123 II.7.1.2 pinned 123 II.7.2 Built-in types 124 II.7.3 References to user -defined types ( TypeReference ) 124 II.7.4 Native data types 125 II.8 Visibility, accessibility an
23、d hiding 127 II.8.1 Visibility of top -level types and accessibility of nested types 127 II.8.2 Accessibility 127 II.8.3 Hiding 127 II.9 Generics 128 II.9.1 Generic type definitions 128 II.9.2 Generics and recursive inheritance graphs 129 II.9.3 Generic method definitions 130 II.9.4 Instantiating ge
24、neric types 131 II.9.5 Generics variance 132 II.9.6 Assignment compatibility of instantiated types 132 II.9.7 Validity of member signatures 133 II.9.8 Signatures and binding 134 II.9.9 Inheritance and overriding 135 II.9.10 Explicit method overrides 136 II.9.11 Constraints on generic parameters 137
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ISOIEC232712012INFORMATIONTECHNOLOGYCOMMONLANGUAGEINFRASTRUCTURECLI 信息技术 通用 语言 结构 CLIPDF

链接地址:http://www.mydoc123.com/p-1257094.html