分享
ISO_IEC_23271_2012E.pdf
下载文档

ID:235496

大小:4.56MB

页数:572页

格式:PDF

时间:2023-03-14

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
ISO_IEC_23271_2012E
Reference numberISO/IEC 23271:2012(E)ISO/IEC 2012 INTERNATIONAL STANDARD ISO/IEC23271Third edition2012-02-15Information technology Common Language Infrastructure(CLI)Technologies de linformation Infrastructure commune de langage(ICL)ISO/IEC 23271:2012(E)COPYRIGHT PROTECTED DOCUMENT ISO/IEC 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 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 reserved ISO/IEC 23271:2012(E)ISO/IEC 2012 All rights reserved.iii Table of Contents 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 Common Language Infrastructure 9 I.6.1 Relationship to type safety 9 I.6.2 Relationship to managed metadata-driven 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 compliance 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 compliance 14 I.7.3.1 Marking items as 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.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 Static 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 signature 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 Class 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 Method 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 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: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 Common 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 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 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 Common Language Specification rules 69 I.12 Virtual Execution System 72 I.12.1 Supported data types 72 I.12.1.1 Native size:native 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 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 mode

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开