IMethodReturnMessageとは? わかりやすく解説

IMethodReturnMessage インターフェイス

メソッド呼び出し応答メッセージインターフェイス定義します

名前空間: System.Runtime.Remoting.Messaging
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<ComVisibleAttribute(True)> _
Public Interface IMethodReturnMessage
    Inherits IMethodMessage, IMessage
Dim instance As IMethodReturnMessage
[ComVisibleAttribute(true)] 
public interface IMethodReturnMessage : IMethodMessage, IMessage
[ComVisibleAttribute(true)] 
public interface class IMethodReturnMessage
 : IMethodMessage, IMessage
/** @attribute ComVisibleAttribute(true) */ 
public interface IMethodReturnMessage extends IMethodMessage,
 IMessage
ComVisibleAttribute(true) 
public interface IMethodReturnMessage extends
 IMethodMessage, IMessage
解説解説
使用例使用例

RealProxy.Invokeオーバーライドして、返されメッセージ情報コンソール書き込むカスタム プロキシについては、次のコード例参照してください

<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 'New
   
   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 'MyProxy
[PermissionSet(SecurityAction.Demand, Name="FullTrust")]
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;
   }
}
[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;
   }
};
/** @attribute SecurityPermission(SecurityAction.Demand, Flags = SecurityPermissionFlag.Infrastructure)
*/
public class MyProxy extends RealProxy
{
    private String stringUri;
    private MarshalByRefObject myMarshalByRefObject;

    public MyProxy(Type myType)
    {
        super(myType);
        myMarshalByRefObject 
            = (MarshalByRefObject)Activator.CreateInstance(myType);
        ObjRef myObject = RemotingServices.Marshal(myMarshalByRefObject);
        stringUri = myObject.get_URI();
    } //MyProxy

    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
} //MyProxy
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
IMethodReturnMessage メンバ
System.Runtime.Remoting.Messaging 名前空間

IMethodReturnMessage プロパティ


IMethodReturnMessage メソッド


パブリック メソッドパブリック メソッド

  名前 説明
パブリック メソッド GetOutArg ref パラメータまたは out パラメータとしてマークされ引数のうち、指定され引数返します
パブリック メソッド GetOutArgName ref パラメータまたは out パラメータとしてマークされ引数のうち、指定され引数の名前を返します
参照参照

関連項目

IMethodReturnMessage インターフェイス
System.Runtime.Remoting.Messaging 名前空間

IMethodReturnMessage メンバ




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「IMethodReturnMessage」の関連用語

IMethodReturnMessageのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



IMethodReturnMessageのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS