Unity:拦截(AOP)拦截属性?还有表格上的截取方法(winform)?

时间:2011-04-28 14:25:36

标签: dependency-injection unity-container aop

我非常有兴趣了解它是否可以拦截属性以及方法?我发现了一个很好的例子,似乎支持拦截方法,是否也可以拦截属性和事件呢?

我想为我的应用编写一个AOP日志系统。

以下是示例:http://codetheorist.com/2011/04/interception-made-easy/

我尝试了一下,并设法让它在类库中工作,

如果我想让它在WinForms上工作怎么办?我还需要从容器中解析表单,现实中的表单是一个类,但我无法使其工作。

任何人有任何想法,或者已经做过了吗?

我确实注意到Aurum是Unity上的框架,但我认为如果可能的话我宁愿使用Unity扩展。

修改

这就是我为我的winforms所尝试的......但它没有工作,它在program.cs中

var form = UnityContainer.Container.Resolve<frmMain>();

///Application.Run(new frmMain());  // OLD

Application.Run(form);  // new using the resolved from unity.. It resolves it and i registered it ... 

1 个答案:

答案 0 :(得分:2)

属性只是一个带有一些额外元数据的方法,所以如果属性是虚拟的或者是接口的一部分,它就可以被拦截 - 就像任何其他虚拟方法一样。