Ler em inglês

Compartilhar via


IMethodReturnMessage Interface

Definição

Define a interface de mensagem de retorno da chamada do método.

C#
public interface IMethodReturnMessage : System.Runtime.Remoting.Messaging.IMethodMessage
C#
[System.Runtime.InteropServices.ComVisible(true)]
public interface IMethodReturnMessage : System.Runtime.Remoting.Messaging.IMethodMessage
Derivado
Atributos
Implementações

Exemplos

O código de exemplo a seguir mostra um proxy personalizado que substitui RealProxy.Invoke para gravar as informações da mensagem de retorno no console.

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;
   }
}

Comentários

Uma mensagem de retorno de chamada de método representa a resposta a uma chamada de método em um objeto no final do coletor de mensagens. Um IMethodReturnMessage é gerado como resultado de um método chamado em um objeto remoto e é usado para retornar os resultados da chamada de método de volta ao chamador.

Propriedades

ArgCount

Obtém o número de argumentos passados ao método.

(Herdado de IMethodMessage)
Args

Obtém uma matriz de argumentos passados ao método.

(Herdado de IMethodMessage)
Exception

Obtém a exceção gerada durante a chamada do método.

HasVarArgs

Obtém um valor que indica se a mensagem tem argumentos variáveis.

(Herdado de IMethodMessage)
LogicalCallContext

Obtém o LogicalCallContext da chamada de método atual.

(Herdado de IMethodMessage)
MethodBase

Obtém a MethodBase do método chamado.

(Herdado de IMethodMessage)
MethodName

Obtém o nome do método invocado.

(Herdado de IMethodMessage)
MethodSignature

Obtém um objeto que contém a assinatura do método.

(Herdado de IMethodMessage)
OutArgCount

Obtém o número de argumentos na chamada do método marcados como parâmetros ref ou out.

OutArgs

Retorna o argumento especificado marcado como um parâmetro ref ou out.

Properties

Obtém um IDictionary que representa uma coleção das propriedades da mensagem.

(Herdado de IMessage)
ReturnValue

Obtém o valor retornado de chamada de método.

TypeName

Obtém o nome Type completo do objeto específico ao qual a chamada se destina.

(Herdado de IMethodMessage)
Uri

Obtém o URI do objeto específico ao qual a chamada se destina.

(Herdado de IMethodMessage)

Métodos

GetArg(Int32)

Obtém um argumento específico como um Object.

(Herdado de IMethodMessage)
GetArgName(Int32)

Obtém o nome do argumento passado ao método.

(Herdado de IMethodMessage)
GetOutArg(Int32)

Retorna o argumento especificado marcado como um parâmetro ref ou out.

GetOutArgName(Int32)

Retorna o nome do argumento especificado marcado como um parâmetro ref ou out.

Aplica-se a

Produto Versões
.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