IMethodReturnMessage.OutArgs Eigenschap

Definitie

Retourneert het opgegeven argument dat is gemarkeerd als een ref of een out parameter.

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()

Waarde van eigenschap

Object[]

Het opgegeven argument dat is gemarkeerd als een ref of een out parameter.

Kenmerken

Uitzonderingen

De directe beller voert de aanroep uit via een verwijzing naar de interface en heeft geen infrastructuurmachtiging.

Voorbeelden

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

Opmerkingen

Hoewel de OutArgs eigenschap redundant is omdat dezelfde functionaliteit kan worden bereikt via het veld en GetOutArg de OutArgCount methode, is er mogelijk prestatieoptimalisatie beschikbaar als de implementeerfunctie begrijpt wanneer alle argumenten worden opgehaald.

Waarschuwing

Als Exception dit niet nullhet gevolg is, wordt er een System.IndexOutOfRangeException uitzondering gegenereerd wanneer OutArgs deze wordt geopend.

Van toepassing op