Freigeben über


IMethodReturnMessage.OutArgs-Eigenschaft

Gibt das angegebene Argument zurück, das als ref-Parameter oder out-Parameter gekennzeichnet ist.

Namespace: System.Runtime.Remoting.Messaging
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
ReadOnly Property OutArgs As Object()
'Usage
Dim instance As IMethodReturnMessage
Dim value As Object()

value = instance.OutArgs
Object[] OutArgs { get; }
property array<Object^>^ OutArgs {
    array<Object^>^ get ();
}
/** @property */
Object[] get_OutArgs ()
function get OutArgs () : Object[]

Eigenschaftenwert

Das angegebene Argument, das als ref-Parameter oder out-Parameter gekennzeichnet ist.

Ausnahmen

Ausnahmetyp Bedingung

SecurityException

Der direkte Aufrufer führt den Aufruf über einen Verweis auf die Schnittstelle aus und verfügt nicht über die Berechtigung für die Infrastruktur.

Hinweise

Die OutArgs-Eigenschaft ist zwar redundant, weil über das OutArgCount-Feld und die GetOutArg-Methode derselbe Funktionsumfang erzielt werden kann. Dennoch lässt sich u. U. die Leistung optimieren, wenn bei der Implementierung bekannt ist, wann alle Argumente abgerufen werden.

Beispiel

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
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;
}
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 IMessage Invoke(IMessage myMessage)
{
    IMethodCallMessage myCallMessage = (IMethodCallMessage)myMessage;
    IMethodReturnMessage myIMethodReturnMessage 
        = RemotingServices.ExecuteMessage(myMarshalByRefObject,
            myCallMessage);
    Console.WriteLine("Method name : " 
        + myIMethodReturnMessage.get_MethodName());
    Console.WriteLine("The return value is : " 
        + myIMethodReturnMessage.get_ReturnValue());

    // Get number of 'ref' and 'out' parameters.
    int myArgOutCount = myIMethodReturnMessage.get_OutArgCount();

    Console.WriteLine("The number of 'ref', 'out' parameters are : " 
        + myIMethodReturnMessage.get_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}'.",
            System.Convert.ToString(i),
            myIMethodReturnMessage.GetOutArgName(i));
        Console.WriteLine("Value of argument {0} is '{1}'.",
            System.Convert.ToString(i),
            myIMethodReturnMessage.GetOutArg(i));
    }
    Console.WriteLine();
    Object myObjectArray[] = myIMethodReturnMessage.get_OutArgs();

    for (int i = 0; i < myObjectArray.length; i++) {
        Console.WriteLine("Value of argument {0} is '{1}' in OutArgs",
            System.Convert.ToString(i), myObjectArray.get_Item(i));
    }

    return myIMethodReturnMessage;
} //Invoke

.NET Framework-Sicherheit

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

IMethodReturnMessage-Schnittstelle
IMethodReturnMessage-Member
System.Runtime.Remoting.Messaging-Namespace