写点什么

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:281008
用户头像
臧秀涛 略懂技术的运营同学。

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

关注

评论

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

手写线程池实战

Java 程序员 后端

我上高中的弟弟都能看懂的Docker学习教程,你看看讲的怎么样

Java 程序员 后端

我的Serverless实战——能掰扯面试官的SSVM超详细解析!

Java 程序员 后端

手撕ArrayList底层,透彻分析源码

Java 程序员 后端

Docsify 脚本执行权限问题

HoneyMoose

接口文档:第二章:使用Swagger接口的文档在线自动生成

Java 程序员 后端

抽象工厂模式

Java 程序员 后端

拿了 30K 的 offer!

Java 程序员 后端

掌握了2-3-4树也就掌握了红黑树,不信进来看看,建议收藏!

Java 程序员 后端

排序二叉树JAVA版实现

Java 程序员 后端

教妹学Java(二十五):搞懂 Java 中的构造方法

Java 程序员 后端

我猜你还没明白如何利用好Redis、Redisson使用实现分布式锁?

Java 程序员 后端

我用了3年,从小厂干到美团L8技术专家!分享一下面经!

Java 程序员 后端

教女朋友学习 vue中的组件

Java 程序员 后端

数据结构与算法-链表

Java 程序员 后端

成为架构师之前,你一定要懂的-CAP-定理

Java 程序员 后端

手把手带你用数据库中间件Mycat+SpringBoot完成分库分表

Java 程序员 后端

我这么回答对Spring的理解,面试官狂问我什么时候入职?

Java 程序员 后端

手把手教学妹CompletableFuture异步化,性能关系直接起飞!

Java 程序员 后端

拥有阿里P8推荐的SpringBoot笔记,备战金九银十,吊打面试官不是梦

Java 程序员 后端

推荐 6 个前后端分离项目

Java 程序员 后端

教妹学Java(二十 七):this 关键字的用法

Java 程序员 后端

我所理解的Java锁

Java 程序员 后端

手把手教你,从零开始搭建Spring Cloud Alibaba!这份笔记太牛了

Java 程序员 后端

教妹学Java(二十一):一文带你了解面向对象编程的所有概念

Java 程序员 后端

教妹学Java(二十四):一文了解 Java 中的方法

Java 程序员 后端

数据结构之栈应用

Java 程序员 后端

我来告诉你解决死锁的100种方法

Java 程序员 后端

捕获异常&指令重塑

Java 程序员 后端

什么是 TypeScript

HoneyMoose

教妹学Java(二十 七):this 关键字的用法(1)

Java 程序员 后端

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