MSBuild + MSILInect实现编译时AOP-改变前后对比
实现静态AOP,就需要我们在预编译时期,修改IL实现对代码逻辑的修改。Mono.Cecil就是一个很好的IL解析和注入框架,参见编译时MSIL注入--实践Mono Cecil(1)。
我的思路为:在编译时将加有继承制MethodInterceptBaseAttribu
http://cyqdata.cn/cnblogs/article-detail-42761
MSBuild + MSILInect实现编译时AOP之预览
在本文之前的前几篇浅谈.NET编译时注入(C#-->IL)、浅谈VS编译自定义编译任务—MSBuild Task(csproject)、编译时MSIL注入--实践Mono Cecil(1)已经讨论了MSBuild和Mono.Cicel。在这
http://cyqdata.cn/cnblogs/article-detail-42715
编译时MSIL注入--实践Mono Cecil(1)
紧接上两篇浅谈.NET编译时注入(C#-->IL)和浅谈VS编译自定义编译任务—MSBuild Task(csproject),在第一篇中我们简单研究了c#语法糖和PostSharp的MSIl注入,紧接第二篇中我们介绍了自定义MSBuild编译任务(记得有位老兄发链接用 MSBuild自动发布Silverlight xap ,我想说的我做的是自定义编译任
http://cyqdata.cn/cnblogs/article-detail-42224
从monodis源码分析pe文件结构与msil反汇编
monodis是mono发行包里的一个工具,作用类似与ms的ildasm,可以把dotnet pe文件反编译为msil文件(另外有个托管代码的实现Mono.Cecil)。这个工具的实现很简单,就是根据PE文件的格式与规范去解析。选择这个主题的原因有很多,首先PE文件作为进行分析mono的基础,毕竟这里是metadata的来源;另外通过分析msil语言,可以为后续的VM执行引擎做准备,毕竟无论是ji
http://cyqdata.cn/cnblogs/article-detail-36614
使用 MSIL 为 Enum.HasFlag 封装一个泛型的扩展方法
.NET 框架 4.0 为 Enum 类型新增了一个 HasFlag 方法,这样每一个枚举类型(并不只限于“System.Enum”这个混蛋类型)的值都可以使用 HasFlag 来检查是不是设置了某个标志。
但是由于这个 HasFlag 方法接受的参数是 Enum 类型,而不是泛型的,在使用 Visual Studio (或者 Express)编写代码的时候就会发现智能感知
http://cyqdata.cn/cnblogs/article-detail-2636