PostSharp 6.10 / / Post­Sharp Documentation / API Reference / Post­Sharp.​Aspects Namespace / IAsync­Method­Interception­Aspect Interface / IAsync­Method­Interception­Aspect Methods / IAsync­Method­Interception­Aspect.​On­Invoke­Async Method

IAsyncMethodInterceptionAspect.OnInvokeAsync Method

Method invoked instead of the method to which the aspect has been applied.

Namespace:  PostSharp.Aspects
Assembly:  PostSharp (in PostSharp.dll) Version: (
Task OnInvokeAsync(
	MethodInterceptionArgs args


Type: PostSharp.Aspects.MethodInterceptionArgs
Advice arguments.

Return Value

Type: Task

The implementation of OnInvokeAsync(MethodInterceptionArgs) may invoke ProceedAsync(), may schedule it for invocation from another thread, or may completely skip its invocation. Alternatively, it may use Binding. Before returning to the caller, the OnInvokeAsync(MethodInterceptionArgs) method must set the return value (property ReturnValue), otherwise the target method may fail with a NullReferenceException. It is normally set by calling ProceedAsync().

If semantic advising applies to a method and the method is an async method or returns a Task, then OnInvokeAsync(MethodInterceptionArgs) is called for that method instead of OnInvoke(MethodInterceptionArgs).

See Also