メソッドの実行をインターセプトしてキャンセルする方法はありますか?Invoke
とを使用してメソッドMicrosoft.Practices.Unity
から例外をスローする方法を見つけただけですICallHandler
が、Invoke
メソッドの実装では、を返すことしかできません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);
}
}