首页 > 代码库 > [工具]IL Mapper2(C# -> IL 转换器)
[工具]IL Mapper2(C# -> IL 转换器)
下载地址:IL_Mapper2.zip
源文件: IL_Mapper2_src.zip
简介
此工具可以直接把C#代码转换成IL代码查看,省去编译和手动操作ildsam的繁琐。希望能对想研究IL的各位有所帮助。
效果图:
编码小记
源码中比较有意思的问题是”如何让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 转换器)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。