有没有办法拦截方法执行并取消它?我只找到了一种Invoke
方法来使用Microsoft.Practices.Unity
and从方法中抛出异常ICallHandler
,但是在Invoke
方法实现上,我只能 return getNext()(input, getNext);
。
基本上这是代码:
public class TestHandler : ICallHandler
{
public int Order { get; set; }
public IMethodReturn Invoke(IMethodInvocation input,
GetNextHandlerDelegate getNext)
{
Console.WriteLine("It's been intercepted.");
// Here... please Lord, tell me I can cancel it, I'm a good person.
return getNext()(input, getNext);
}
}