IMethodReturnMessage インターフェイスとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > 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 名前空間



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

辞書ショートカット

すべての辞書の索引

「IMethodReturnMessage インターフェイス」の関連用語

IMethodReturnMessage インターフェイスのお隣キーワード
検索ランキング

   

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



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

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

©2025 GRAS Group, Inc.RSS