`
xiechangming
  • 浏览: 26642 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Types at Runtime

 
阅读更多

Every object in the CLR begins with a fixed-size object header. The Object header has two fields. The first field of the object header is the sync block index. The second field of the object header is a handler to an opaque data structure that represents the object’s type. Every instance of a given type will have the same type handle value in its object header. To support down-casts and side-casts, CIL defines two opcodes: isinst and castclass. Both opcodes generate code that examines the object’s type handle to determine whether or not the object’s type is compatible with the request type.

Both isinst and castclass take advantage of the data structure referenced by RuntimeTypeHandle. The data structure (CORINFO_CLASS_STRUCT) contains several critical pieces of information. Each type has an interface table. This table contains one entry for each interface that the type is compatible with. The data structure also contains a pointer to the in-memory representation of the type’s base type.

分享到:
评论

相关推荐

    ABAP351高级编程-动态编程.rar

    2. **Data Types at Runtime**: 动态数据类型的创建和使用是动态编程的一个关键方面。`cl_abap_datatype`类允许创建和操作动态数据类型,如通过`CREATE DATA`语句创建新的变量。 3. **DYNPRO and SCREEN Handling**...

    ObjCRuntimeGuide

    One of its key features is the ability to handle dynamic behavior at runtime, which is managed by the Objective-C runtime system. The ObjCRuntimeGuide provides an in-depth look into how Objective-C ...

    Databox – Data editor save solution v1.2.1p1

    Read and save data at runtime NEW Load and Save asynchronously Supports all common Unity types + custom classes Import from GOOGLE spreadsheet or local CSV file Cloud sync - sync data to your ...

    Build iOS Database Apps with Swift and SQLite

    With Build iOS Database Apps with Swift and SQLite you will also gain expert knowledge on how to create databases at runtime, including creating or modifying indexes, triggers, tables, columns, and ...

    Android代码-OkGraphQl

    GraphQL is a query language for your API, and a server-side runtime for executing queries by using a type system you define for your data. GraphQL isn't tied to any specific database or storage engine...

    Procedural.Content.Generation.for.Cplusplus.Game.Development

    Create dynamic game objects at runtime Construct games using a component-based approach Assemble non-predictable game events and scenarios Operate procedural generation to create dynamic content fast ...

    hashcat-4.0.0.7z

    Multi-Platform (CPU, GPU, APU, etc., everything that comes with an OpenCL runtime) Multi-Hash (Cracking multiple hashes at the same time) Multi-Devices (Utilizing multiple devices in same system) ...

    GObject Reference Manual

    GType - The GLib Runtime type identification and management system GTypePlugin - An interface for dynamically loadable types GTypeModule - Type loading modules GObject - The base object type Enums...

    Think Julia

    on guide uses Julia 1.0 to walk you through programming one step at a time, beginning with basic programming concepts before moving on to more advanced capabilities, such as creating new types and ...

    Stimulsoft Reports Ultimate 2014.3 part3

    Report Designers, which can be run at design time and runtime, including a unique report designer for Web. Viewers for displaying reports. Powerful system of exporting reports, which supports many ...

    Stimulsoft Reports Ultimate 2014.3 part1

    Report Designers, which can be run at design time and runtime, including a unique report designer for Web. Viewers for displaying reports. Powerful system of exporting reports, which supports many ...

    Stimulsoft Reports Ultimate 2014.3 part2

    Report Designers, which can be run at design time and runtime, including a unique report designer for Web. Viewers for displaying reports. Powerful system of exporting reports, which supports many ...

    Stimulsoft Reports Ultimate 2014.3 part4

    Report Designers, which can be run at design time and runtime, including a unique report designer for Web. Viewers for displaying reports. Powerful system of exporting reports, which supports many ...

    A Pathfinding Project Prov 4.1.16.zip

    Grid, navmesh and point graphs, so you've got 3 types of graphs included. Automatic navmesh generation to save you from doing it manually. Fully multithreaded so it will barely affect the frame rate. ...

    A Pathfinding Project Pro v4.2.2.7z

    Grid, navmesh and point graphs, so you've got 3 types of graphs included. Automatic navmesh generation to save you from doing it manually. Fully multithreaded so it will barely affect the frame rate. ...

Global site tag (gtag.js) - Google Analytics