我非常有兴趣了解它是否可以拦截属性以及方法?我发现了一个很好的例子,似乎支持拦截方法,是否也可以拦截属性和事件呢?
我想为我的应用编写一个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 ...
答案 0 :(得分:2)
属性只是一个带有一些额外元数据的方法,所以如果属性是虚拟的或者是接口的一部分,它就可以被拦截 - 就像任何其他虚拟方法一样。