This documentation is archived and is not being maintained.
IMethodReturnMessage Interface
Visual Studio 2010
Defines the method call return message interface.
Assembly: mscorlib (in mscorlib.dll)
The IMethodReturnMessage type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | ArgCount | Gets the number of arguments passed to the method. (Inherited from IMethodMessage.) |
![]() | Args | Gets an array of arguments passed to the method. (Inherited from IMethodMessage.) |
![]() | Exception | Gets the exception thrown during the method call. |
![]() | HasVarArgs | Gets a value indicating whether the message has variable arguments. (Inherited from IMethodMessage.) |
![]() | LogicalCallContext | Gets the LogicalCallContext for the current method call. (Inherited from IMethodMessage.) |
![]() | MethodBase | Gets the MethodBase of the called method. (Inherited from IMethodMessage.) |
![]() | MethodName | Gets the name of the invoked method. (Inherited from IMethodMessage.) |
![]() | MethodSignature | Gets an object containing the method signature. (Inherited from IMethodMessage.) |
![]() | OutArgCount | Gets the number of arguments in the method call marked as ref or out parameters. |
![]() | OutArgs | Returns the specified argument marked as a ref or an out parameter. |
![]() | Properties | Gets an IDictionary that represents a collection of the message's properties. (Inherited from IMessage.) |
![]() | ReturnValue | Gets the return value of the method call. |
![]() | TypeName | Gets the full Type name of the specific object that the call is destined for. (Inherited from IMethodMessage.) |
![]() | Uri | Gets the URI of the specific object that the call is destined for. (Inherited from IMethodMessage.) |
| Name | Description | |
|---|---|---|
![]() | GetArg | Gets a specific argument as an Object. (Inherited from IMethodMessage.) |
![]() | GetArgName | Gets the name of the argument passed to the method. (Inherited from IMethodMessage.) |
![]() | GetOutArg | Returns the specified argument marked as a ref or an out parameter. |
![]() | GetOutArgName | Returns the name of the specified argument marked as a ref or an out parameter. |
The following example code shows a custom proxy that overrides RealProxy.Invoke in order to write the return message information to the console.
[System::Security::Permissions::SecurityPermissionAttribute (System::Security::Permissions::SecurityAction::LinkDemand, Flags=System::Security::Permissions::SecurityPermissionFlag::Infrastructure)] [System::Security::Permissions::SecurityPermissionAttribute (System::Security::Permissions::SecurityAction::InheritanceDemand, Flags=System::Security::Permissions::SecurityPermissionFlag::Infrastructure)] public ref class MyProxy: public RealProxy { private: String^ stringUri; MarshalByRefObject^ myMarshalByRefObject; public: MyProxy( Type^ myType ) : RealProxy( myType ) { myMarshalByRefObject = dynamic_cast<MarshalByRefObject^>(Activator::CreateInstance( myType )); ObjRef^ myObject = RemotingServices::Marshal( myMarshalByRefObject ); stringUri = myObject->URI; } virtual IMessage^ Invoke( IMessage^ myMessage ) override { IMethodCallMessage^ myCallMessage = (IMethodCallMessage^)( myMessage ); IMethodReturnMessage^ myIMethodReturnMessage = RemotingServices::ExecuteMessage( myMarshalByRefObject, myCallMessage ); Console::WriteLine( "Method name : {0}", myIMethodReturnMessage->MethodName ); Console::WriteLine( "The return value is : {0}", myIMethodReturnMessage->ReturnValue ); // Get number of 'ref' and 'out' parameters. int myArgOutCount = myIMethodReturnMessage->OutArgCount; Console::WriteLine( "The number of 'ref', 'out' parameters are : {0}", myIMethodReturnMessage->OutArgCount ); // Gets name and values of 'ref' and 'out' parameters. for ( int i = 0; i < myArgOutCount; i++ ) { Console::WriteLine( "Name of argument {0} is '{1}'.", i, myIMethodReturnMessage->GetOutArgName( i ) ); Console::WriteLine( "Value of argument {0} is '{1}'.", i, myIMethodReturnMessage->GetOutArg( i ) ); } Console::WriteLine(); array<Object^>^myObjectArray = myIMethodReturnMessage->OutArgs; for ( int i = 0; i < myObjectArray->Length; i++ ) Console::WriteLine( "Value of argument {0} is '{1}' in OutArgs", i, myObjectArray[ i ] ); return myIMethodReturnMessage; } };
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Show:
