ReturnMessage Class

Definition

Holds a message returned in response to a method call on a remote object.

C#
public class ReturnMessage : System.Runtime.Remoting.Messaging.IMethodReturnMessage
C#
[System.Runtime.InteropServices.ComVisible(true)]
public class ReturnMessage : System.Runtime.Remoting.Messaging.IMethodReturnMessage
C#
[System.Runtime.InteropServices.ComVisible(true)]
[System.Security.SecurityCritical]
public class ReturnMessage : System.Runtime.Remoting.Messaging.IMethodReturnMessage
Inheritance
ReturnMessage
Attributes
Implements

Examples

C#
public class MyProxy : RealProxy
{
   String stringUri;
   MarshalByRefObject myMarshalByRefObject;

   public MyProxy(Type myType): base(myType)
   {
      myMarshalByRefObject = (MarshalByRefObject)Activator.CreateInstance(myType);
      ObjRef myObject = RemotingServices.Marshal(myMarshalByRefObject);
      stringUri = myObject.URI;
   }

   public override IMessage Invoke(IMessage myMessage)
   {
      IMethodCallMessage myCallMessage = (IMethodCallMessage)myMessage;

      IMethodReturnMessage myIMethodReturnMessage =
         RemotingServices.ExecuteMessage(myMarshalByRefObject, myCallMessage);

      Console.WriteLine("Method name : " + myIMethodReturnMessage.MethodName);
      Console.WriteLine("The return value is : " + myIMethodReturnMessage.ReturnValue);

      // Get number of 'ref' and 'out' parameters.
      int myArgOutCount = myIMethodReturnMessage.OutArgCount;
      Console.WriteLine("The number of 'ref', 'out' parameters are : " +
         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();
      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;
   }
}

Remarks

Note

This class makes a link demand and an inheritance demand at the class level. A SecurityException is thrown when either the immediate caller or the derived class does not have infrastructure permission. For details about security demands, see Link Demands and Inheritance Demands.

Constructors

ReturnMessage(Exception, IMethodCallMessage)

Initializes a new instance of the ReturnMessage class.

ReturnMessage(Object, Object[], Int32, LogicalCallContext, IMethodCallMessage)

Initializes a new instance of the ReturnMessage class with all the information returning to the caller after the method call.

Properties

ArgCount

Gets the number of arguments of the called method.

Args

Gets a specified argument passed to the method called on the remote object.

Exception

Gets the exception that was thrown during the remote method call.

HasVarArgs

Gets a value indicating whether the called method accepts a variable number of arguments.

LogicalCallContext

Gets the LogicalCallContext of the called method.

MethodBase

Gets the MethodBase of the called method.

MethodName

Gets the name of the called method.

MethodSignature

Gets an array of Type objects containing the method signature.

OutArgCount

Gets the number of out or ref arguments on the called method.

OutArgs

Gets a specified object passed as an out or ref parameter to the called method.

Properties

Gets an IDictionary of properties contained in the current ReturnMessage.

ReturnValue

Gets the object returned by the called method.

TypeName

Gets the name of the type on which the remote method was called.

Uri

Gets or sets the URI of the remote object on which the remote method was called.

Methods

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetArg(Int32)

Returns a specified argument passed to the remote method during the method call.

GetArgName(Int32)

Returns the name of a specified method argument.

GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetOutArg(Int32)

Returns the object passed as an out or ref parameter during the remote method call.

GetOutArgName(Int32)

Returns the name of a specified out or ref parameter passed to the remote method.

GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a string that represents the current object.

(Inherited from Object)

Applies to

Product Versions
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1