频道栏目
首页 > 资讯 > C# > 正文

C# 反射机制和作用实例讲解

18-06-22        来源:[db:作者]  
收藏   我要投稿

第一件事就是:反射很慢,消耗性能。

反射:可以通过程序集,类型,类型实例获取该程序集内【所有类型+类型所有字段+类型字段的类型,方法,方法的访问类型,参数和返回值等等。。。】

作用<1> Json或XML解析,用于实例化一个class类,当然需要该class类和jsondata或XML data的内容相匹配。

评价:很鸡肋的用法——如果你很懒,不想写反射机制的相关代码,完全可以用JsonMapper等工具实现,其内部也是用反射实现的。而且初始化对象可以用二进制序列化文件,比XML和Json高效,可压缩,可加密(protocolBuf或序列化器)

作用<2>应用于工厂 :把要创建的类型的当做参数去创建相应的对象

评价:好的面向对象设计可以避免反射,比如面向抽象编程,面向接口编程

优点:此处反射唯一的好处是可以把创建的类写到Json,通过Assetbunddle download json,可以在游戏发布后还可以控制控制创建物体的类型。

作用<3> 对于第三方插件。比如C++写的DLL,导入DLL后你怎么知道里面包含了哪些类,类的命名空间,哪些字段,字段的类型,哪些方法,方法的参数和返回值?特别是你通过“DLL查看器”,看到一个函数很可能就是你想要的,但是你不知道其参数类型和返回值类型,怎么办?答案就是反射。

相关TAG标签
上一篇:mysql中group by的常规用法实例说明
下一篇:Linux系统shell常用语句
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站