Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 系统类型及&;类型句柄->;方法表->;EEClass_C#_.net_C# 4.0_Clr - Fatal编程技术网

C# 系统类型及&;类型句柄->;方法表->;EEClass

C# 系统类型及&;类型句柄->;方法表->;EEClass,c#,.net,c#-4.0,clr,C#,.net,C# 4.0,Clr,我有一个问题:我无法理解主题标题中描述的CLR用于提供类型安全性的实体。如果你不明白我的意思,请阅读。首先,我将描述我是如何理解这些概念的,我很乐意等待你纠正我的错误,并提供一些额外的信息,这些信息将对此有所帮助。 如此类推:我设想“TypeHandle->MethodTable->EEClassCLT在应用程序执行其第一行代码之前创建它,并使用此实体进一步提供类型安全和强制转换、多态性(虚拟函数调用)在另一个终端系统上。Type是一个实例,它将根据我们的请求通过GetType()的typeof

我有一个问题:我无法理解主题标题中描述的CLR用于提供类型安全性的实体。如果你不明白我的意思,请阅读。

首先,我将描述我是如何理解这些概念的,我很乐意等待你纠正我的错误,并提供一些额外的信息,这些信息将对此有所帮助。

如此类推:我设想“
TypeHandle->MethodTable->EEClass
CLT在应用程序执行其第一行代码之前创建它,并使用此实体进一步提供类型安全和强制转换、多态性(虚拟函数调用)在另一个终端系统上。Type是一个实例,它将根据我们的请求通过
GetType()
typeof()
创建。

> BR/>所以我很困惑,<代码>系统.Type & & Type句柄>方法> > ECLASS < /CUL>执行相同的角色,但被分隔成不同的实体。< /P>本文让您查看CLR内部结构。其中类型存储在C++数据结构中。与托管代码可以使用的托管类型类非常不同。当然,Wi。type.type安全性的相同类型的信息由内置在应用程序中的验证器强制执行。因此,System.type实例基于元数据表或在应用程序启动前CLR加载的MethodTable->EEClass进行构建