写点什么

Reflection API 因 Windows 商店应用作调整

  • 2012-09-13
  • 本文字数:819 字

    阅读完需:约 3 分钟

相对于完整的.NET 4.5 框架来说,用于Windows Store 应用的.NET API 子集则显得如此之小。 具体而言, Reflection.Emit 变得不可用,且 System.Type 类中的大多数成员也都被迁移到了 System.Reflection.TypeInfo 类中。

.NET 团队把 System.Type 分解成了两个类—— System.Reflection.TypeInfo 和一个简化的 System.Type ——主要意在将类型定义与类型引用分离。早在处理程序集时,就已采用了这种划分方法。 Brandon Bray 在《 Evolving the .NET Reflection API 》一文中解释到:

System.Reflection.Assembly 类代表的是程序集定义,而 System.Reflection.AssemblyName 类代表的是程序集引用。前者提供了丰富的功能集合,而后者只是数据,它可以帮助你得到想要的定义。这正是我们想为 System.Type 采用的模型。

Type 仅提供了对某一类型的引用,并未加载类型本身的所有元数据。所有丰富的信息都在 TypeInfo 中——对于给定的 Type,你可以通过该类型的 TypeInfo 来访问它的元数据。这种方式的优点是,访问 Type 对象的时候并不需要加载必要的程序集——仅当访问 TypeInfo 类的时候才需要。这意味着,是否需要加载程序集可以由开发者根据需要来控制。

为了保持更好的工作集和响应能力,Reflection API 也开始用 IEnumerable 类型来替代常见的数组类型的返回值。

兼容性:新的 Reflection API 中的这种改变并非破坏性的——Windows Store 中的应用必须使用新模型,而对于以.NET 4.5 框架为目标的代码而言,早期的.NET 4.0 模型和新模型皆可使用。为了实现这一点,.NET 框架使用的类型层次结构稍微有点不同。假如你想在.NET 4.5 和 Windows Store 应用之间复用代码的话,微软建议你将其包装为一个可移植的类库

查看英文原文 Reflection API Changes For Windows Store Apps


感谢贾国清对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2012-09-13 21:281091
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 137.8 次阅读, 收获喜欢 35 次。

关注

评论

发布
暂无评论
发现更多内容

70 张图带你彻底掌握红黑树

Java 数据结构 红黑树

第二章作业

白知之明

第四次工业革命与龙的故事

脑极体

玩遍博客网站,我整理了全套的建站技术栈

老魚

程序员 博客 网站搭建 建站

面试加分项!Android项目开发如何设计整体架构?学习路线+知识点梳理

欢喜学安卓

android 程序员 面试 移动开发

作业:挑一个你喜欢的产品平台,列出产品的利益相关方。

嫉妒的耗子

【百度官方技术分享】百度智能小程序框架性能优化实践

百度Geek说

百度智能小程序 小程序云开发 百度 大前端 技术宅

《程序员修炼之道》- 务实的哲学(2)

石云升

读书笔记 程序员 28天写作 软件的熵

产品经理训练营第二周作业

产品经理训练营

Springboot使用jasypt需要注意的一个小地方

Sky彬

springboot jasypt

产品经理的大局观——

小匚

产品经理 产品经理训练营

「Android渲染」图像是怎样显示到屏幕上的?

李小四

Android渲染 AndroidUI RenderingPipeline

第二次作业提交

涅米丶

作业 - 第二周

eva

抽奖小助手——利益相关者

墨狂之逸才

产品训练营-第二周-作业

邹小胖

产品经理训练营

产品经理课程-第二周

novaln🍉

阿里工作6年,熬到P7就剩这份学习笔记了,已助朋友拿到7个Offer

Java 编程 面试 计算机

面试学习!我们究竟还要学习哪些Android知识?讲的明明白白!

欢喜学安卓

android 程序员 面试 移动开发

阿里开始“拆”中台?!中台建设何去何从?

博文视点Broadview

【网络篇】- https

双木之林

【并发编程的艺术】Java内存模型的顺序一致性

程序员架构进阶

架构 JMM Java内存模型 28天写作

追根溯源的产品思维

产品经理训练营

维基百科技术架构演进分析

Andy

Flink 助力美团数仓增量生产

Apache Flink

flink 流计算

Mybatis系列全解(四):全网最全!Mybatis配置文件XML全貌详解

潘大壮

Java 后端 mybatis mybatis源码

Mybatis系列全解(五):全网最全!详解Mybatis的Mapper映射文件

潘大壮

Java 后端 mybatis mybatis源码

阿里发布2021年Redis“神级”手册:基础+原理+应用+集群+拓展+源码,六管齐下

Java架构追梦

Java redis 阿里巴巴 源码 架构

深入了解HashMap!

xcbeyond

Java hashmap HashMap底层原理 28天写作

如何做好一场技术分享,100%纯干货输出

架构精进之路

技术分享 七日更 28天写作

产品0期-第二周作业

曾烧麦

产品经理训练营

Reflection API因Windows商店应用作调整_.NET_Roopesh Shenoy_InfoQ精选文章