[工具]IL Mapper2(C# -> IL 转换器)
下载地址:IL_Mapper2_exe.zip
简介
此工具可以直接把C#代码转换成IL代码查看,省去编译和手动操作ildsam的繁琐。希望能对想研究IL的各位有所帮助。
效果图:
后话
如果需要在Vs环境中查看IL代码, 可以选择使用VS插件,如:点击。
还有其它一些产品也不错,如评论中@KOFIP推荐的Reflector插件和基于Mono的IL Spy(这个程序的图标就是从IL Spy中Copy过来的)。
使用此工具也有一定的优点,那就是代码在自己手上,可以自行扩展:如增加代码保存和查看功能,以管理个人重要的代码片段。
编码小记
源码中比较有意思的问题是”如何让Avalon.TextEditor的Text实现双向绑定"。昨天参照了stackoverflow上一帖子,完全没用。没有办法,只好自己仔细研究。过程不多说,结论如下:
1 只有依赖属性才能加入绑定。
2 依赖属性的值存放在“别处”,不在”依赖对象“中。值通过GetValue和SetValue访问。
3 绑定表达式执行时,调用SetValue对依赖属性(TextProperty)进行赋值,而不是调用Text的Set方法。
4 SetValue会更新依赖属性的值,再调用OnPropertyChange,通知属性变更。此时如果有双向绑定,会由此通知数据源更新值,如更新Controller中的Code属性。示例中在TextEditor的TextChanged事件中,使用此方法同步Editor的base.Text值到依赖属性。
5 PropertyMetadata(callback)中,callback为SetValue的回调方法,执行依赖属性值改变后的后续动作。示例中用于同步依赖属性Text的值到base.Text中。
[工具]IL Mapper2(C# -> IL 转换器)的更多相关文章
- PDF转WORD工具推荐:迅捷PDF转换器6.8版
迅捷PDF转换器是一款功能强大的pdf转换成word转换器软件.它不仅支持pdf转换成word,word转pdf,还可以实现excel,ppt,jpg与pdf文件的一键式转换.有了它,你可以很轻松转换 ...
- 学习微软中间语言(MSIL)的绝佳工具 Dotnet IL Editor 推荐
Dotnet IL Editor是一款.NET平台反编译工具,可以反编译.NET程序集文件为IL代码,并且可以执行,调试反编译后生成的IL代码.它的设计出发点比较直观,新建一个项目,添加程序集文件,设 ...
- CLR via C# 摘要二:IL速记
最简单的IL程序 .assembly test {} .method void Func() { .entrypoint ldstr "hello world" call void ...
- IL实现简单的IOC容器
既然了解了IL的接口和动态类之间的知识,何不使用进来项目实验一下呢?而第一反应就是想到了平时经常说的IOC容器,在园子里搜索了一下也有这类型的文章http://www.cnblogs.com/kkll ...
- IL初步了解
一.概述: 近来也是在看AOP方面的东西,了解到Emit可以实现.之前对Emit的了解也就是停留在Reflector针对方法反编译出来的部分指令.就用这次机会学习下Emit也用这篇随笔记录下学习的过程 ...
- 《你必须知道的.NET》读书笔记:从Hello World认识IL
通用的语言基础是.NET运行的基础,当我们对程序运行的结果有异议的时候,如何透过本质看表面,需要我们从底层来入手探索,这时候,IL便是我们必须知道的基础. 一.IL基础概念 1.1 什么是IL? IL ...
- 转载文章----IL反编译利器——Ildasm.exe和Reflector.exe:
转载地址:http://www.cnblogs.com/yangmingming/archive/2010/02/03/1662546.html 一:Ildasm.exe简介 这一微软VS自带工具, ...
- 在VS里配置及查看IL
在VS里配置及查看IL 来源:网络 编辑:admin 在之前的版本VS2010中,在Tools下有IL Disassembler(IL中间语言查看器),但是我想直接集成在VS2012里使用,方法如下: ...
- 为VS集成IL环境
为VS2012集成IL工具 在之前的版本VS2010中,在VS的安装目录下/Tools/IL Disassembler这个工具(IL中间语言查看器),但是我想直接把它集成在VS2012里使用, 操作方 ...
随机推荐
- 图形化Cisco设备管理实践(附安装配置视频)
图形化Cisco设备管理实践 Ciscoworks 2000是Cisco公司推出的基于SNMP协议的网络管理系统,通过它网络管理人员可以方便快捷地完成设备的配置.管理.监控和故障分析等任务, Cisc ...
- 简单的使用AngularJS的解析JSON
使用AngularJS+Struts2进行前后台的数据交互与显示. struts.xml 配置文件需要将设置extends="json-default" type="j ...
- SQLserver2012 修改数据库架构
还原数据库以后,发现有一张表的架构不对,执行sql提示:对象名无效.
- js实现文字截断
先前用jq做了一个文字截断功能,但是不用jq的项目要实现此功能还要引如jq显得过于麻烦.这里写了一个js的文字截断功能.直接上代码. HTML(测试用的): <div>我是pox我是pox ...
- ADO.NET中ExcuteNonQuery获取存储过程Return返回值
/// <summary> /// 获取当月用户已投票数量 /// </summary> /// <param name="userId">用户 ...
- C#操作xml
最进在做一个项目,需要用到xml做配置文件,但是自己忘的差不多了,所以就温习了一遍.以下是我项目中所用到的,所以肯定也不全面. 1.新建xml文件 using System.Xml;//需要引用 st ...
- 【转】HTML5新增元素兼容旧浏览器方法
ref:http://www.jb51.net/html5/163906.html 问题:如何让IE8-兼容这些标签?(需要设计JS中的DOM) 代码如下: <span style=" ...
- Entity Framework with NOLOCK
在SqlServer中,频繁在同一个数据库表同时进行读写的时候,会存在锁的问题,也就是在前一个insert.update.delete事务操作完毕之前,你不能进行读取,必须要等到操作完毕,你才能进行s ...
- [leetcode]_Minimum Depth of Binary Tree
第五道树题,10分钟之内一遍AC.做树题越来越有feel~ 题目:求一棵树从root结点到叶子结点的最短路径. 思路:仍然是递归.如果一个结点的左右子树任意一边为Null,该子树的minDepth应为 ...
- Jquery调用Webservice传递Json数组
Jquery由于提供的$.ajax强大方法,使得其调用webservice实现异步变得简单起来,可以在页面上传递Json字符串到Webservice中,Webservice方法进行业务处理后,返回Js ...