ReturnMessage Osztály

Definíció

Egy távoli objektum metódushívására válaszul visszaadott üzenetet tartalmaz.

public ref class ReturnMessage : System::Runtime::Remoting::Messaging::IMethodReturnMessage
public class ReturnMessage : System.Runtime.Remoting.Messaging.IMethodReturnMessage
[System.Runtime.InteropServices.ComVisible(true)]
public class ReturnMessage : System.Runtime.Remoting.Messaging.IMethodReturnMessage
[System.Runtime.InteropServices.ComVisible(true)]
[System.Security.SecurityCritical]
public class ReturnMessage : System.Runtime.Remoting.Messaging.IMethodReturnMessage
type ReturnMessage = class
    interface IMethodReturnMessage
    interface IMethodMessage
    interface IMessage
[<System.Runtime.InteropServices.ComVisible(true)>]
type ReturnMessage = class
    interface IMethodReturnMessage
    interface IMethodMessage
    interface IMessage
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Security.SecurityCritical>]
type ReturnMessage = class
    interface IMethodReturnMessage
    interface IMethodMessage
    interface IMessage
Public Class ReturnMessage
Implements IMethodReturnMessage
Öröklődés
ReturnMessage
Attribútumok
Megvalósítás

Példák

[System::Security::Permissions::SecurityPermissionAttribute
(System::Security::Permissions::SecurityAction::LinkDemand, 
Flags=System::Security::Permissions::SecurityPermissionFlag::Infrastructure)]
[System::Security::Permissions::SecurityPermissionAttribute
(System::Security::Permissions::SecurityAction::InheritanceDemand, 
Flags=System::Security::Permissions::SecurityPermissionFlag::Infrastructure)]
public ref class MyProxy: public RealProxy
{
private:
   String^ stringUri;
   MarshalByRefObject^ myMarshalByRefObject;

public:
   MyProxy( Type^ myType ) : RealProxy( myType )
   {
      myMarshalByRefObject = dynamic_cast<MarshalByRefObject^>(Activator::CreateInstance( myType ));
      ObjRef^ myObject = RemotingServices::Marshal( myMarshalByRefObject );
      stringUri = myObject->URI;
   }

   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 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;
   }
}
<PermissionSet(SecurityAction.Demand, Name:="FullTrust")> _
Public Class MyProxy
   Inherits RealProxy
   Private stringUri As String
   Private myMarshalByRefObject As MarshalByRefObject
   
   Public Sub New(myType As Type)
      MyBase.New(myType)
      myMarshalByRefObject = CType(Activator.CreateInstance(myType), MarshalByRefObject)
      Dim myObject As ObjRef = RemotingServices.Marshal(myMarshalByRefObject)
      stringUri = myObject.URI
   End Sub
   
   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
End Class

Megjegyzések

Note

Ez az osztály az osztály szintjén hoz létre kapcsolati és öröklési szükségletet. Az A SecurityException akkor jön létre, ha az azonnali hívó vagy a származtatott osztály nem rendelkezik infrastruktúra-engedéllyel. A biztonsági követelményekkel kapcsolatos részletekért tekintse meg az Igények csatolása és az Öröklési igényekhivatkozása című témakört.

Konstruktorok

Name Description
ReturnMessage(Exception, IMethodCallMessage)

Inicializálja a ReturnMessage osztály új példányát.

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

Inicializálja az osztály új példányát a ReturnMessage metódushívás után a hívónak visszaadott összes információval.

Tulajdonságok

Name Description
ArgCount

Lekéri a hívott metódus argumentumainak számát.

Args

Lekéri a távoli objektumon meghívott metódusnak átadott megadott argumentumot.

Exception

Lekéri a távoli metódushívás során kidobott kivételt.

HasVarArgs

Beolvas egy értéket, amely jelzi, hogy a hívott metódus elfogad-e változó számú argumentumot.

LogicalCallContext

Lekéri a LogicalCallContext hívott metódust.

MethodBase

Lekéri a MethodBase hívott metódust.

MethodName

Lekéri a hívott metódus nevét.

MethodSignature

Lekéri a Type metódus-aláírást tartalmazó objektumtömböt.

OutArgCount

Lekéri a hívott metódus számát out vagy ref argumentumait.

OutArgs

Lekéri a megadott objektumot, amelyet paraméterként vagy out paraméterként ref ad át a hívott metódusnak.

Properties

IDictionary Lekéri az aktuális ReturnMessagetulajdonságot.

ReturnValue

Lekéri a hívott metódus által visszaadott objektumot.

TypeName

Lekéri annak a típusnak a nevét, amelyre a távoli metódust meghívták.

Uri

Lekéri vagy beállítja annak a távoli objektumnak az URI-ját, amelyre a távoli metódust meghívták.

Metódusok

Name Description
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetArg(Int32)

Egy megadott argumentumot ad vissza a távoli metódusnak a metódushívás során.

GetArgName(Int32)

Egy megadott metódusargumentum nevét adja vissza.

GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetOutArg(Int32)

A távoli metódushívás során átadott objektumot vagy out paramétert ref adja vissza.

GetOutArgName(Int32)

Egy megadott out vagy ref a távoli metódusnak átadott paraméter nevét adja vissza.

GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

A következőre érvényes: