Reference

You can develop an ImplementMethod aspect by deriving the custom attribute ImplementMethod or by implementing the interface IImplementMethod.

Overview

The ImplementMethod aspect allows you to defer the implementation of abstract or external methods (extern in C#) methods. After the aspect will be applied to a method, it will not be abstract or external any more, but will have an implementation: the OnExecution handler defined in your aspect.

The OnExecution handler receives a MethodExecutionEventArgs object thanks to which you can determine the method being invoked (Method property) and its arguments (GetWritableArgumentArray() method). You can set output arguments and the return value (ReturnValue property).

The ImplementMethod aspect is useful to import methods defined in an external system. It is for instance possible to declare database stored procedures as external methods, just like native functions are available through P-Invoke.