Partager via


IMethodReturnMessage.OutArgs Propriété

Définition

Retourne l’argument spécifié marqué comme un ou un refout paramètre.

public:
 property cli::array <System::Object ^> ^ OutArgs { cli::array <System::Object ^> ^ get(); };
public object[] OutArgs { get; }
public object[] OutArgs { [System.Security.SecurityCritical] get; }
member this.OutArgs : obj[]
[<get: System.Security.SecurityCritical>]
member this.OutArgs : obj[]
Public ReadOnly Property OutArgs As Object()

Valeur de propriété

Object[]

Argument spécifié marqué comme un ref ou un out paramètre.

Attributs

Exceptions

L’appelant immédiat effectue l’appel via une référence à l’interface et n’a pas d’autorisation d’infrastructure.

Exemples

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;
}
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;
}
Public Overrides Function Invoke(myMessage As IMessage) As IMessage
   Dim myCallMessage As IMethodCallMessage = CType(myMessage, IMethodCallMessage)

   Dim myIMethodReturnMessage As IMethodReturnMessage = 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.
   Dim myArgOutCount As Integer = myIMethodReturnMessage.OutArgCount
   Console.WriteLine("The number of 'ref', 'out' parameters are : " + _
      myIMethodReturnMessage.OutArgCount.ToString())
   ' Gets name and values of 'ref' and 'out' parameters.
   Dim i As Integer
   For i = 0 To myArgOutCount - 1
      Console.WriteLine("Name of argument {0} is '{1}'.", i, _
         myIMethodReturnMessage.GetOutArgName(i))
      Console.WriteLine("Value of argument {0} is '{1}'.", i, _
         myIMethodReturnMessage.GetOutArg(i))
   Next i
   Console.WriteLine()
   Dim myObjectArray As Object() = myIMethodReturnMessage.OutArgs
   For i = 0 To myObjectArray.Length - 1
      Console.WriteLine("Value of argument {0} is '{1}' in OutArgs", i, myObjectArray(i))
   Next i
   Return myIMethodReturnMessage
End Function 'Invoke

Remarques

Bien que la OutArgs propriété soit redondante, car la même fonctionnalité peut être obtenue via le champ et GetOutArg la OutArgCount méthode, il peut y avoir une optimisation des performances disponible si l’implémenteur comprend quand tous les arguments seront récupérés.

Avertissement

Si Exception ce n’est pas nullle cas, une System.IndexOutOfRangeException exception est levée lorsqu’elle OutArgs est accessible.

S’applique à