You're talking about Ninject but I assume that you're only interested in features of Castle Dynamic Proxy and by IInvocation
you mean Castle.DynamicProxy.IInvocation
.
invocation.TargetType.Name
invocation.Arguments
invocation.ReturnValue
- you may set it when exception occurs
https://github.com/castleproject/Core/blob/master/src/Castle.Core/DynamicProxy/IInvocation.cs
When it comes to Ninject extensions I would expect something similar (however, I've never used it):
invocation.Request.Target.GetType().Name
invocation.Request.Arguments
invocation.ReturnValue
https://github.com/ninject/ninject.extensions.interception/blob/master/src/Ninject.Extensions.Interception/IInvocation.cs https://github.com/ninject/ninject.extensions.interception/blob/master/src/Ninject.Extensions.Interception/Request/IProxyRequest.cs