我如何使用AOP在C#中使用切入点

时间:2010-09-29 12:12:33

标签: c#-4.0

我在java.i.e。

中使用切入点(AOP Around)开发了一个应用程序
pointcut ps(String s,int iTemp1,int iTemp2) :
    call (void java.awt.Graphics.drawString(String,int,int)) && args(s,iTemp1,iTemp2);

void around(String s,int i1,int i2) : ps(s,i1,i2)
{
  if(flag1)
 {
     try
     {
       //Some code
     }
     catch(Exception ex)
     {
     }
  } 



s=image_applet.foo(s);

if(flag2)
 {
     try
     {
      //code
     }
     catch(Exception ex)
     {
     }
  } 

proceed(s,iTemp1,iTemp2);
}

我希望在我的c#代码中使用的方法中开发相同的切入点。如果有可能,请给我一些指示。

2 个答案:

答案 0 :(得分:0)

我已经使用Spring.NET的AOP实现取得了巨大的成功 - 也许这对您有用吗?

答案 1 :(得分:0)

查看NKalore项目@ http://aspectsharpcomp.sourceforge.net/

.NET中有大量的AOP恶搞,包括残障代码合同。但据我所知,NKalore是唯一一个反映AspectJ语法和模式的人。其他框架如LinFu,post sharp(入门版)要求您放置属性并遵循不同的模式。没有AOP语法支持,因为它们缺少AOP编译器。