1. Introduction
In Build a More Powerful AOP Framework Based on AspectDNG's ILML Library - Teddy's Aspect Weaver, I built the Teddy's Aspect Weaver Version 0.1 with the xml based meta way configuration support. And this time, in version 0.2, I provide the addtional custom attribute way configuration support. You can use both meta way and custom attribute way configuration in even one weaving project.
Below is the usage sample:
Configuration
<?
xml version="1.0" encoding="utf-8"
?>
<
Configuration
logFile
="LogWeaving.xml"
cleanTempFiles
="false"
>
<
BaseAssembly
>
../TestLib/bin/Debug/TestLib.dll
</
BaseAssembly
>
<
OutputAssembly
>
../TestLib/bin/Debug/TestLib_output.dll
</
OutputAssembly
>
<
AspectAssemblies
>
<
AspectAssembly
uniqueName
="TestAspectLib.dll"
path
="bin/Debug/TestAspectLib.dll"
/>
</
AspectAssemblies
>
</
Configuration
>
TestAspectClass.cs
using
System;
using
AspectWeaver.Attributes;
namespace
TestAspectLib
{
public class TestAspectClass
{
[Introduce("//Type[@name='TestClass']")]
private string fieldToBeIntroducedByCustomAttribute = "fieldToBeIntroducedByCustomAttribute";
[Introduce("//Type[@name='TestClass']")]
public void MethodToBeIntrodcuedByCustomAttribute()
{
}
}
[Introduce()]
public class ClassToBeIntroducedByCustomAttribute
{
}
}
This sample is part of sample with both meta way and custom attribute way configuration within AspectWeaver0.2 source code. Be careful, don't define the same advice both in meta xml and custom attribute, or that may cause error. And only the advices with a code element can be configurated with the new custom attribute way. Advices can be configurated by the new way are: Introduce, BeforeConstructor/AfterConstructor, BeforeMethodCall/AfterMethodCall, InlineAtStart, InlineBeforeReturn and AroundBody.
2. Download Source Code
AspectWeaver0.3.zip
本文介绍了基于 AspectDNG 的 ILML 库构建的 Teddy's Aspect Weaver 框架。0.2 版本新增了自定义属性方式的配置支持,可与元方式配置在一个项目中使用。文中给出了配置示例,并提醒避免在元 XML 和自定义属性中定义相同建议,还列出了可用新方式配置的建议类型,最后提供了 0.3 版本源码下载。
843

被折叠的 条评论
为什么被折叠?



