我刚看到阿延德的帖子 http://ayende.com/Blog/archive/2008/10/09/first-steps-with-post-sharp.aspx今天关于 PostSharp。我下载了代码并尝试了一下,我认为这是我见过的处理 AOP 的最酷、最容易使用的方法。
Ayende 在他的文章中表示,PostSharp 通过以下方式实现了它的魔力:伊尔织造。现在,在某种抽象层面上,我可以推断出这意味着什么,但我想看看是否有更详细的答案。不幸的是,很长一段时间以来,谷歌第一次对我来说一无所获。所以我认为这对 StackOverflow 来说是一个很好的问题(因为我已经订阅 Jeff 的博客好几年了,并且知道这个网站正在做它的事情)。
那么 IL Weaving 到底是什么以及它是如何实现的呢?
编织是指将功能注入现有程序的过程。从概念上讲,这可以在多个层面上完成:
- 源代码编织会在代码编译之前注入源代码行
- IL 编织(适用于 .NET)将代码作为 IL 指令添加到程序集中
- 字节码编织(针对 Java)适用于类文件,请参阅这些注释AspectJ http://www.eclipse.org/aspectj/doc/released/devguide/bytecode-concepts.html
理论上,您可以更深入地编写一个编译为本机指令的可执行文件,但这会增加很多复杂性,而且我不知道有什么可以做到这一点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)