前往Shuct.Net首页

Shudepb PB反编译专家长时间以来,为业内同类软件事实上的唯一选择.细节,彰显专业.态度,决定品质.

关于反编译的搜索

人肉反编译运用 yield重要 字的要领 - Asp.Net - 清风网络学院 清风网络 - 提供绿色软件下载、单机游戏下载、免费电子书籍下载,尽在www.vipcn.com 软件专题 最新更新 下载排行 软件分类 软件下载 游戏下载 书籍下载 网络学院 QQ地带 电脑入门 游戏世界 操作系统 图形处理 办公软件 媒体动画 精彩网文 工具软件 网络编程 程序开发 网站建设 首页 网络技术 认证考试 公文办公 电子机械 电子通讯 企业应用 文章分类 推荐文章 最新文章 热点文章 图文推荐 当前位置:清风绿色软件下载 → 网络学院 → 网络编程 → Asp.Net → 人肉反编译运用 yield重要 字的要领 人肉反编译运用 yield重要 字的要领 日期:2010年1月31日 作者: 文章相关tags: 人肉 编译 运用 重要   我认为这是一个真命题:&ldquo;没有用.NET Reflector反编译并阅读过代码的程序员不是专业的.NET程序员&rdquo;。.NET Reflector强悍 的地点 就在于能够 把IL代码反编译成可读性颇高的高级语言代码,并且能够支撑 相当多的&ldquo;模式&rdquo;,根据这些模式它能够 在必须 程度上把某些语法糖给还原,甚至能够 支撑 基本 的Lambda表达式和LINQ。只可惜,.NET Reflector仍旧 不能 做到极致,某些情况下生成的代码仍旧 不能 还原到易于理会 &mdash;&mdash;yield主要 字便是这样一个典型的情况。不过还行,对于不庞杂 的逻辑,咱们 能够 议决 人肉来&ldquo;整理&rdquo;个大概。  基本 yield要领 编译结果剖析   yeild的作用是简化枚举器,也就是IEnumerator<T>或IEnumerable<T>的实现。&ldquo;人肉&rdquo;反编译的主要 在于发觉 编译器的次序,因此咱们 先来观察编译器的处理结果。值得留心 的是,咱们 这里所谈的&ldquo;剖析 &rdquo;,都采用的是微软当前 的C# 3.0编译器。从理论上来说,这些结果或是次序,都有可能不能 运用在Mono和微软之前或今后的C#编译器上。最先 咱们 准备一段运用 yield的代码:static IEnumerator<int> GetSimpleEnumerator() {   Console.WriteLine("Creating Enumerator");    yield return 0;   yield return 1;   yield return 2;    Console.WriteLine("Enumerator Created"); }  为了简化疑问 ,咱们 在这里采用IEnumerator<T>。自动生成的IEnumerable<T>和 IEnumerator<T>区别不大,您能够 自身 观察一下,有机会我会单独探讨 和剖析 其中的区别。经历 编译之后再运用 .NET Reflector执行 反编译,得到的结果是: private static IEnumerator<int> GetSimpleEnumerator() {   return new <GetSimpleEnumerator>d__0(0); }  [CompilerGenerated] private sealed class <GetSimpleEnumerator>d__0 : IEnumerator<int>, ... {   // Fields   private int <>1__state;   private int <>2__current;    // Methods   [DebuggerHidden]   public <GetSimpleEnumerator>d__0(int <>1__state)   {     this.<>1__state = <>1__state;   }    private bool MoveNext()   {     switch (this.<>1__state)     {       case 0:         this.<>1__state = -1;         Console.WriteLine("Creating Enumerator");         this.<>2__current = 0;         this.<>1__state = 1;         return true;        case 1:         this.<>1__state = -1;         this.<>2__current = 1;         this.<>1__state = 2;         return true;        case 2:         this.<>1__state = -1;         this.<>2__current = 2;         this.<>1__state = 3;         return true;        case 3:         this.<>1__state = -1;         Console.WriteLine("Enumerator Created");         break;     }      return false;   }    ... } [1] [2] [3] [4] [5] [6] [7] 下一页 上一篇:千古名驹,风驰电掣——赤兔阅读 器[多图] 下一篇:从DWG到XAML (I) - 浅谈DWG历史,现状及方向[多图] 相关软件 ·色彩搭配在网站中的运用 ·Flash Decompiler Trillix(动画反编译) 5.3.1370 中文特别绿色版 ·EditPlus代码编译器(自动检查语法)v3.41.966 烈火汉化绿色版 ·硕思闪客精灵 专业绿色版 Flash反编译工具v6.3 ·SWF Decompile Expert 3.0.2.235 绿色英文特别版_最可靠的flash反编译和转换 ·文件翻译编译器 gtranslator V1.9.5 安装版 ·FoxPro反编译工具 UnFoxAll V3.0 中文安装版 ·Task Timer 1.0.0 Beta 绿色版_重要事件提醒软件 ·PhotoFilmStrip 1.40 绿色版_编译并可转换处理照片工具 ·vb6编译制作通用的dll (VB_DLL_Link) 官方版v1.2绿色版 相关文章 ·3DMAX+VR渲染时自动关闭处理要领 [图] ·JQuery上传插件Uploadify运用 详解[多图] ·不用输入密码看加密QQ相册的要领 ·在IIS7中运用 Application Request Routing配置反向代理[多图] ·Windows 7下安装网络打印机的两种高速 要领 [多图] ·iphone版《人肉棒球2》Berzerk Ball2 技能属性大解析[多图] ·AS3运用SOCKET遇到的安全沙箱疑问[图] ·libev基本 运用 介绍 ·运用 Cognos 8 SDK 在 Web 使用 中集成 Cognos 报表[多图] ·运用 Apache MINA 2 开发网络运用 [多图] 文章评论 相关分类 Asp.Net ASP JSP PHP XML/Soap CGI/Perl Script MSSQL MYSQL Ajax J2EE/J2ME 软件专题 QQ飞车 QQ超市 使命召唤9 洛克王国 QQ炫舞 穿越火线 QQ部落守卫战 快播 魔兽世界 英雄联盟 愤怒的小鸟 windows 8 刺客信条3 qq2013 PowerPoint 阅读排行 .NET Reactor NecroBit 脱壳[多图] 一个横向ASP.NET Menu控件[多图] 在DataGridView底部实现统计行[多图] 在IIS7中运用 Application Request Routing配置反向代理[多图] 给表格的TBody加上滚动条[图] 实现一个Google Calendar 样式的日程管理控件XgCalendar[多图] extjs学习笔记(六) grid中数据的保存,添加和删除[多图] 通过HttpWebRequest在后台对WebService执行 调用 WPF自定义控件——顶级控件[多图] 分享一个.NET版的多选文件上传操作示例[多图] 可循环显示图像的Android Gallery组件[多图] 在页面中实现内容的展开和收缩[多图] google map运用 自定义Marker在地图上添加文字标示 发送带嵌入图片邮件之SMTP实现和ESMTP实现[图] 大文件上传进度条显示[多图] WebBrowser抓图示例——截取网页上的验证码图片[多图] .NET 做树状菜单(TreeView控件实战)[多图] Silverlight DataGrid 分组技巧[多图] BMP文件格式详解(BMP file format)[多图] login.aspx xml 验证 推荐文章 Windows无法升级与卸载.net framework怎么办? ASP.NET建站增加虚构目录和主机头 用IronRuby建设WPF利用顺序 运用纯文本文件打造WCF服务[多图] 以Model为中心的表单设计器的思绪[多图] 浅谈运用WF完成拖拽形式的业务平台[多图] Visual Studio自定义调试窗体两个小技巧[多图] WPF中完成PropertyGrid的三种形式[多图] 如何正确地运用#region指令 零代码平台完成[图] 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布 本站提供的软件来自互联网下载纯属学习交流之用,全部需要用迅雷工具下载,如侵犯您版权的请与我们联系,我们会尽快改正,请在下载24小时后删除。 www.vipcn.com 版权所有 鄂ICP备05000083号 Powered by:vipcn