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

LogicalMethodInfo クラス

XML Web サービス メソッドの属性とメタデータを表します。このクラスは継承できません。

名前空間: System.Web.Services.Protocols
アセンブリ: System.Web.Services (system.web.services.dll 内)
構文構文

Public NotInheritable Class
 LogicalMethodInfo
Dim instance As LogicalMethodInfo
public sealed class LogicalMethodInfo
public ref class LogicalMethodInfo sealed
public final class LogicalMethodInfo
public final class LogicalMethodInfo
解説解説
使用例使用例
' Process the SOAP message received and write to log file.
Public Overrides Sub ProcessMessage(message
 As SoapMessage)
   Select Case message.Stage
      Case SoapMessageStage.BeforeSerialize
      Case SoapMessageStage.AfterSerialize
         WriteOutput(CType(message, SoapServerMessage))
      Case SoapMessageStage.BeforeDeserialize
         WriteInput(CType(message, SoapServerMessage))
      Case SoapMessageStage.AfterDeserialize
      Case Else
            Throw New Exception("invalid
 stage")
   End Select
End Sub 'ProcessMessage

' Write the contents of the incoming SOAP message to the log file.
Public Sub WriteInput(message As
 SoapServerMessage)
   ' Utility method to copy the contents of one stream to another.
   Copy(oldStream, newStream)
   Dim myFileStream As New
 FileStream(filename, FileMode.Append, FileAccess.Write)
   Dim myStreamWriter As New
 StreamWriter(myFileStream)
   myStreamWriter.WriteLine("==================================
 Request at " + _
                             DateTime.Now)
   myStreamWriter.WriteLine("The method that has been invoked
 is : ")
   myStreamWriter.WriteLine(ControlChars.Tab + message.MethodInfo.Name)
   myStreamWriter.WriteLine("The contents of the SOAP envelope
 are : ")
   myStreamWriter.Flush()
   newStream.Position = 0
   Copy(newStream, myFileStream)
   myFileStream.Close()
   newStream.Position = 0
End Sub 'WriteInput

' Write the contents of the outgoing SOAP message to the log file.
Public Sub WriteOutput(message As
 SoapServerMessage)
   newStream.Position = 0
   Dim myFileStream As New
 FileStream(filename, FileMode.Append, FileAccess.Write)
   Dim myStreamWriter As New
 StreamWriter(myFileStream)
   myStreamWriter.WriteLine("----------------------------------
 Response at " + _
                             DateTime.Now)
   myStreamWriter.Flush()
   ' Utility method to copy the contents of one stream to another.
   Copy(newStream, myFileStream)
   myFileStream.Close()
   newStream.Position = 0
   Copy(newStream, oldStream)
End Sub 'WriteOutput
// Process the SOAP message received and write to log file.
public override void ProcessMessage(SoapMessage
 message) 
{
   switch (message.Stage) 
   {
      case SoapMessageStage.BeforeSerialize:
         break;
      case SoapMessageStage.AfterSerialize:
         WriteOutput((SoapServerMessage)message);
         break;
      case SoapMessageStage.BeforeDeserialize:
         WriteInput((SoapServerMessage)message);
         break;
      case SoapMessageStage.AfterDeserialize:
         break;
      default:
         throw new Exception("invalid stage");
   }
}

// Write the contents of the incoming SOAP message to the log file.
public void WriteInput(SoapServerMessage message)
{
   // Utility method to copy the contents of one stream to another.
 
   Copy(oldStream, newStream);
   FileStream myFileStream = new FileStream(filename, FileMode.Append,
 FileAccess.Write);
   StreamWriter myStreamWriter = new StreamWriter(myFileStream);
   myStreamWriter.WriteLine("================================== Request at "
      + DateTime.Now);
   myStreamWriter.WriteLine("The method that has been invoked is : ");
   myStreamWriter.WriteLine("\t" + message.MethodInfo.Name);
   myStreamWriter.WriteLine("The contents of the SOAP envelope are : ");
   myStreamWriter.Flush();
   newStream.Position = 0;
   Copy(newStream, myFileStream);
   myFileStream.Close();
   newStream.Position = 0;
}

// Write the contents of the outgoing SOAP message to the log file.
public void WriteOutput(SoapServerMessage message)
{
   newStream.Position = 0;
   FileStream myFileStream = new FileStream(filename, FileMode.Append,
 FileAccess.Write);
   StreamWriter myStreamWriter = new StreamWriter(myFileStream);
   myStreamWriter.WriteLine("---------------------------------- Response at
 " 
                                       + DateTime.Now);
   myStreamWriter.Flush();
   // Utility method to copy the contents of one stream to another.
 
   Copy(newStream, myFileStream);
   myFileStream.Close();
   newStream.Position = 0;
   Copy(newStream, oldStream);
}
// Process the SOAP message received and write to log file.
public void ProcessMessage(SoapMessage message)
 throws Exception
{
    switch(message.get_Stage()) {
        case SoapMessageStage.BeforeSerialize:
            break;
        case SoapMessageStage.AfterSerialize: 
            WriteOutput((SoapServerMessage)message);
            break;
        case SoapMessageStage.BeforeDeserialize:
            WriteInput((SoapServerMessage)message);
            break;
        case SoapMessageStage.AfterDeserialize:
            break;
        default : 
            throw new Exception("invalid stage");
    }
} //ProcessMessage
   
// Write the contents of the incoming SOAP message to the log file.
public void WriteInput(SoapServerMessage message)
 
{
    // Utility method to copy the contents of one stream to another.
    Copy(oldStream, newStream);
    FileStream myFileStream =  new FileStream(filename, FileMode.Append
,
        FileAccess.Write);
    StreamWriter myStreamWriter = new StreamWriter(myFileStream);
    myStreamWriter.WriteLine("================================== " 
        + "Request at " + DateTime.get_Now());
    myStreamWriter.WriteLine("The method that has been invoked is : ");
    myStreamWriter.WriteLine("\t" + message.get_MethodInfo().get_Name());
    myStreamWriter.WriteLine("The contents of the SOAP envelope are : ");
    myStreamWriter.Flush();
    newStream.set_Position(0);
    Copy(newStream, myFileStream);
    myFileStream.Close();
    newStream.set_Position(0);
} //WriteInput
   
// Write the contents of the outgoing SOAP message to the log file.
public void WriteOutput(SoapServerMessage message)
 
{
    newStream.set_Position(0);
    FileStream myFileStream =  new FileStream(filename, FileMode.Append
, 
        FileAccess.Write);
    StreamWriter myStreamWriter = new StreamWriter(myFileStream);
    myStreamWriter.WriteLine("---------------------------------- " 
        + "Response at "  + DateTime.get_Now());
    myStreamWriter.Flush();
    // Utility method to copy the contents of one stream to another.
 
    Copy(newStream, myFileStream);
    myFileStream.Close();
    newStream.set_Position(0);
    Copy(newStream, oldStream);
} //WriteOutput
   
継承階層継承階層
System.Object
  System.Web.Services.Protocols.LogicalMethodInfo
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
LogicalMethodInfo メンバ
System.Web.Services.Protocols 名前空間
SoapExtension
GetInitializer
MethodInfo

LogicalMethodInfo コンストラクタ

渡された MethodInfo を使用して LogicalMethodInfo クラスの新しいインスタンスを初期化します。

名前空間: System.Web.Services.Protocols
アセンブリ: System.Web.Services (system.web.services.dll 内)
構文構文

Public Sub New ( _
    methodInfo As MethodInfo _
)
Dim methodInfo As MethodInfo

Dim instance As New LogicalMethodInfo(methodInfo)
public LogicalMethodInfo (
    MethodInfo methodInfo
)
public:
LogicalMethodInfo (
    MethodInfo^ methodInfo
)
public LogicalMethodInfo (
    MethodInfo methodInfo
)
public function LogicalMethodInfo (
    methodInfo : MethodInfo
)

パラメータ

methodInfo

MethodInfo に共通の LogicalMethodInfo のプロパティを初期化する MethodInfo。

例外例外
例外の種類条件

InvalidOperationException

methodInfo パラメータの MethodBase.IsStatic プロパティが true です。

または

methodInfo パラメータの MethodBase.GetParameters メソッドに、LogicalMethodInfo のインスタンスが表すメソッドで必要とされるすべてのパラメータは格納されていません。

使用例使用例
Imports System
Imports System.Reflection
Imports System.Security.Permissions
Imports System.Web.Services.Protocols
Imports Microsoft.VisualBasic

Public Class MyService
   
   Public Function Add(xValue As
 Integer, yValue As Integer)
 As Integer
      Return xValue + yValue
   End Function 'Add
End Class 'MyService

Class LogicalMethodInfo_Constructor

<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")>
  _
   Shared Sub Run()
      Dim myType As Type = GetType(MyService)
      Dim myMethodInfo As MethodInfo = myType.GetMethod("Add")
      Dim myLogicalMethodInfo As New
 LogicalMethodInfo(myMethodInfo)
      
      Console.WriteLine(ControlChars.NewLine + "Printing properties
 of method : {0}" + _
                              ControlChars.NewLine, myLogicalMethodInfo.ToString())
      
      Console.WriteLine(ControlChars.NewLine + "The declaring
 type of the method {0} is :" + _
                                    ControlChars.NewLine, myLogicalMethodInfo.Name)
      Console.WriteLine(ControlChars.Tab + myLogicalMethodInfo.DeclaringType.ToString())
      
      Console.WriteLine(ControlChars.NewLine + "The parameters
 of the method {0} are :" + _
                                    ControlChars.NewLine, myLogicalMethodInfo.Name)
      Dim myParameters As ParameterInfo() =
 myLogicalMethodInfo.Parameters
      Dim i As Integer
      For i = 0 To myParameters.Length - 1
         Console.WriteLine(ControlChars.Tab + myParameters(i).Name + "
 : " + _
                                                      myParameters(i).ParameterType.ToString())
      Next i
      
      Console.WriteLine(ControlChars.NewLine + "The return type
 of the method {0} is :" + _
                                             ControlChars.NewLine, myLogicalMethodInfo.Name)
      Console.WriteLine(ControlChars.Tab + myLogicalMethodInfo.ReturnType.ToString())
      
      Dim service As New
 MyService()
      Console.WriteLine(ControlChars.NewLine + "Invoking the method
 {0}" + _
                                                ControlChars.NewLine, myLogicalMethodInfo.Name)
      Console.WriteLine(ControlChars.Tab + "The sum of 10 and
 10 is : {0}", _
                                    myLogicalMethodInfo.Invoke(service, New
 Object() {10, 10}))

   End Sub 'Run
   
   Shared Sub Main()
      Run()
   End Sub 'Main
End Class 'LogicalMethodInfo_Constructor
using System;
using System.Reflection;
using System.Security.Permissions;
using System.Web.Services.Protocols;

public class MyService 
{
   public int Add(int xValue,
 int yValue)
   {
      return (xValue + yValue);
   }
}

class LogicalMethodInfo_Constructor
{
   [PermissionSetAttribute(SecurityAction.Demand, Name="FullTrust")]
   static void Run()
   {
      Type myType = typeof(MyService);
      MethodInfo myMethodInfo = myType.GetMethod("Add");
      LogicalMethodInfo myLogicalMethodInfo = 
                  new LogicalMethodInfo(myMethodInfo);

      Console.WriteLine("\nPrinting properties of method : {0}\n",
                              myLogicalMethodInfo.ToString());

      Console.WriteLine("\nThe declaring type of the method {0} is :\n"
,
                              myLogicalMethodInfo.Name);
      Console.WriteLine("\t" + myLogicalMethodInfo.DeclaringType);

      Console.WriteLine("\nThe parameters of the method {0} are :\n",
                              myLogicalMethodInfo.Name);
      ParameterInfo[] myParameters = myLogicalMethodInfo.Parameters;
      for(int i = 0; i < myParameters.Length;
 i++)
      {
         Console.WriteLine("\t" + myParameters[i].Name +
                                 " : " + myParameters[i].ParameterType);
      }

      Console.WriteLine("\nThe return type of the method
 {0} is :\n",
                              myLogicalMethodInfo.Name);
      Console.WriteLine("\t" + myLogicalMethodInfo.ReturnType);

      MyService service = new MyService();
      Console.WriteLine("\nInvoking the method {0}\n",
                              myLogicalMethodInfo.Name);
      Console.WriteLine("\tThe sum of 10 and 10 is : {0}",
                              myLogicalMethodInfo.Invoke(service, 
                                                   new object[]
 {10, 10}));

   }
   
   static void Main()
   {
      Run();
   }  
}
#using <System.Web.Services.dll>

using namespace System;
using namespace System::Reflection;
using namespace System::Web::Services::Protocols;

public ref class MyService
{
public:
   int Add( int xValue, int
 yValue )
   {
      return (xValue + yValue);
   }

};

int main()
{
   Type^ myType = MyService::typeid;
   MethodInfo^ myMethodInfo = myType->GetMethod( "Add" );
   LogicalMethodInfo^ myLogicalMethodInfo = gcnew LogicalMethodInfo( myMethodInfo
 );
   Console::WriteLine( "\nPrinting properties of method : {0}\n", myLogicalMethodInfo
 );
   Console::WriteLine( "\nThe declaring type of the method {0} is :\n",
 myLogicalMethodInfo->Name );
   Console::WriteLine( "\t {0}", myLogicalMethodInfo->DeclaringType
 );
   Console::WriteLine( "\nThe parameters of the method {0} are :\n", myLogicalMethodInfo->Name
 );
   array<ParameterInfo^>^myParameters = myLogicalMethodInfo->Parameters;
   for ( int i = 0; i < myParameters->Length;
 i++ )
   {
      Console::WriteLine( "\t {0}", String::Concat( myParameters[ i ]->Name,
 " : ", myParameters[ i ]->ParameterType ) );
   }
   Console::WriteLine( "\nThe return type of the method {0}
 is :\n", myLogicalMethodInfo->Name );
   Console::WriteLine( "\t {0}", myLogicalMethodInfo->ReturnType );
   MyService^ service = gcnew MyService;
   Console::WriteLine( "\nInvoking the method {0}\n", myLogicalMethodInfo->Name
 );
   array<Object^>^values = gcnew array<Object^>(2);
   values[ 0 ] = 10;
   values[ 1 ] = 10;
   Console::WriteLine( "\tThe sum of 10 and 10 is : {0}", myLogicalMethodInfo->Invoke(
 service, values ) );
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
LogicalMethodInfo クラス
LogicalMethodInfo メンバ
System.Web.Services.Protocols 名前空間

LogicalMethodInfo プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ ReturnTypeCustomAttributeProvider 戻り値の型のカスタム属性を取得します。
参照参照

関連項目

LogicalMethodInfo クラス
System.Web.Services.Protocols 名前空間
SoapExtension
GetInitializer
MethodInfo

LogicalMethodInfo メソッド


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

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド BeginInvoke この LogicalMethodInfo で表されるメソッドの非同期呼び出しを開始します。
パブリック メソッド Create オーバーロードされます。 指定された MethodInfo の配列に基づいて LogicalMethodInfo の配列を作成します。
パブリック メソッド EndInvoke 現在の LogicalMethodInfo で表されているメソッドの非同期呼び出しを終了します。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。)
パブリック メソッド GetCustomAttribute カスタム属性がこの型に適用されている場合は、最初に適用されたカスタム属性を返します。
パブリック メソッド GetCustomAttributes 指定された型に適用されるカスタム属性を返します。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド Invoke 現在の LogicalMethodInfo が表すメソッドを呼び出します。
パブリック メソッド IsBeginMethod 渡されたメソッドが非同期呼び出しの Begin メソッドを表しているかどうかを示す値を返します。
パブリック メソッド IsEndMethod 渡されたメソッドが非同期呼び出しの End メソッドを表しているかどうかを示す値を返します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド ToString オーバーライドされます。 現在の LogicalMethodInfo を表す文字列を返します。
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

LogicalMethodInfo クラス
System.Web.Services.Protocols 名前空間
SoapExtension
GetInitializer
MethodInfo

LogicalMethodInfo メンバ

XML Web サービス メソッドの属性とメタデータを表します。このクラスは継承できません。

LogicalMethodInfo データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド LogicalMethodInfo 渡された MethodInfo を使用して LogicalMethodInfo クラスの新しいインスタンスを初期化します。
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ ReturnTypeCustomAttributeProvider 戻り値の型のカスタム属性を取得します。
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド BeginInvoke この LogicalMethodInfo で表されるメソッドの非同期呼び出しを開始します。
パブリック メソッド Create オーバーロードされます。 指定された MethodInfo の配列に基づいて LogicalMethodInfo の配列を作成します。
パブリック メソッド EndInvoke 現在の LogicalMethodInfo で表されているメソッドの非同期呼び出しを終了します。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド GetCustomAttribute カスタム属性がこの型に適用されている場合は、最初に適用されたカスタム属性を返します。
パブリック メソッド GetCustomAttributes 指定された型に適用されるカスタム属性を返します。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド Invoke 現在の LogicalMethodInfo が表すメソッドを呼び出します。
パブリック メソッド IsBeginMethod 渡されたメソッドが非同期呼び出しの Begin メソッドを表しているかどうかを示す値を返します。
パブリック メソッド IsEndMethod 渡されたメソッドが非同期呼び出しの End メソッドを表しているかどうかを示す値を返します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド ToString オーバーライドされます。 現在の LogicalMethodInfo を表す文字列を返します。
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

LogicalMethodInfo クラス
System.Web.Services.Protocols 名前空間
SoapExtension
GetInitializer
MethodInfo



英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

「LogicalMethodInfo」の関連用語

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

   

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



LogicalMethodInfoのページの著作権

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

©2026 GRAS Group, Inc.RSS