IInvocation
Encapsulates an invocation of a proxied method.
            
                
Gets the arguments that the  Method has been invoked with.
            
Gets the generic arguments of the method.
            
Gets the object on which the invocation is performed. This is different from proxy object
              because most of the time this will be the proxy target object.
            
Gets the  MethodInfo representing the method being invoked on the proxy.
            
For interface proxies, this will point to the  MethodInfo on the target class.
            
Gets the proxy object on which the intercepted method is invoked.
            
Gets or sets the return value of the method.
            
Gets the type of the target object for the intercepted method.
            
Returns an object describing the  Proceed operation for this  IInvocation
              at this specific point during interception.
            
Gets the value of the argument at the specified index.
            
Returns the concrete instantiation of the  Method on the proxy, with any generic
              parameters bound to real types.
            
Returns the concrete instantiation of  MethodInvocationTarget, with any
              generic parameters bound to real types.
              For interface proxies, this will point to the  MethodInfo on the target class.
            
void Proceed()
Proceeds the call to the next interceptor in line, and ultimately to the target method.
            
Overrides the value of an argument at the given index with the
              new value provided.