[MethodImplAttribute(MethodImplOptions.InternalCall)]

only_lonely 2009-12-30 08:34:13
看Object类的源代码,对以下一句不明白

[MethodImplAttribute(MethodImplOptions.InternalCall)]
public extern Type GetType();

InternalCall 指定一个内部调用。内部调用是对在公共语言运行库本身内部实现的方法的调用。

.NET Framework 提供了一个称为公共语言运行库的运行时环境,它运行代码并提供使开发过程更轻松的服务。

拜托,告诉我, GetType() 是谁实现的,又是怎样实现

跪谢
...全文
1103 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaomin98 2011-06-21
  • 打赏
  • 举报
回复
GetType() 是谁实现的?
是CLR实现的,CLR是一个COM组件。可以从微软开源的sscli中找到答案。
GetType()如何实现,
当然是读取DLL中的元数据。元数据保存着类型,程序集的定义信息。
所有反射的机制其实就是对元数据的操作。
元数据以关系表的形式存在DLL中,因此简单的说,读取元数据非常像从内存数据库里读取类型的定义。
http://www.cnblogs.com/anytao/archive/2009/02/25/1397614.html
xiaomin98 2011-06-21
  • 打赏
  • 举报
回复
GetType() 是谁实现的?
是CLR实现的,CLR是一个COM组件。可以从微软开源的sscli中找到答案。
GetType()如何实现,
当然是读取DLL中的元数据。所有反射的机制其实就是对元数据的操作。
yaowpeng 2010-01-06
  • 打赏
  • 举报
回复
look
mngzilin 2009-12-30
  • 打赏
  • 举报
回复
lg
wuyq11 2009-12-30
  • 打赏
  • 举报
回复
MethodImplAttribute(MethodImplOptions.InternalCall)]用于说明该方法的具体实现可以从CLR内部找到。该属性是一种伪属性有别于普通的自定义属性
Object.GetType 方法 是所有对象都有的方法

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧