次の方法で共有


ParameterInfo.ParameterType プロパティ

このパラメータの種類を取得します。

Public Overridable ReadOnly Property ParameterType As Type
[C#]
public virtual Type ParameterType {get;}
[C++]
public: __property virtual Type* get_ParameterType();
[JScript]
public function get ParameterType() : Type;

プロパティ値

このパラメータの種類を表す Type オブジェクト。

解説

このメソッドはオプションのメタデータに依存するため、コンパイラによっては利用できないことがあります。

ParameterInfo 配列を取得するには、最初にメソッドまたはコンストラクタを取得してから MethodBase.GetParameters を呼び出します。

使用例

 
Imports System
Imports System.Reflection
Imports Microsoft.VisualBasic

Class parminfo
    
    Public Shared Sub mymethod(int1m As Integer, ByRef str2m As String, _
    ByRef str3m As String)
        str2m = "in mymethod"
    End Sub
       
    Public Shared Function Main() As Integer
        Console.WriteLine(ControlChars.CrLf + "Reflection.Parameterinfo")
        
        'Get the ParameterInfo parameter of a function.
        'Get the type.
        Dim Mytype As Type = Type.GetType("parminfo")
        
        'Get and display the method.
        Dim Mymethodbase As MethodBase = Mytype.GetMethod("mymethod")
        Console.Write(ControlChars.CrLf _
           + "Mymethodbase = " + Mymethodbase.ToString())
        
        'Get the ParameterInfo array.
        Dim Myarray As ParameterInfo() = Mymethodbase.GetParameters()
        
        'Get and display the ParameterInfo of each parameter.
        Dim Myparam As ParameterInfo
        For Each Myparam In  Myarray
            Console.Write(ControlChars.CrLf _
               + "For parameter # " + Myparam.Position.ToString() _
               + ", the ParameterType is - " + Myparam.ParameterType.ToString())
        Next Myparam
        Return 0
    End Function
End Class

' This code produces the following output:
' 
' Reflection.Parameterinfo

' Mymethodbase = Void mymethod(Int32, System.String ByRef, System.String ByRef)
' For parameter # 0, the ParameterType is - System.Int32
' For parameter # 1, the ParameterType is - System.String&
' For parameter # 2, the ParameterType is - System.String& 

[C#] 
using System;
using System.Reflection;

class parminfo
{
   public static void mymethod (
      int int1m, out string str2m, ref string str3m)
   {
      str2m = "in mymethod";
   }
 
   public static int Main(string[] args)
   {
      Console.WriteLine("\nReflection.Parameterinfo");
      
      //Get the ParameterInfo parameter of a function.
 
      //Get the type.
      Type Mytype = Type.GetType("parminfo");
 
      //Get and display the method.
      MethodBase Mymethodbase = Mytype.GetMethod("mymethod");
      Console.Write("\nMymethodbase = " + Mymethodbase);
 
      //Get the ParameterInfo array.
      ParameterInfo[]Myarray = Mymethodbase.GetParameters();
      
      //Get and display the ParameterInfo of each parameter.
      foreach (ParameterInfo Myparam in Myarray)
      {
         Console.Write ("\nFor parameter # " + Myparam.Position 
            + ", the ParameterType is - " + Myparam.ParameterType);
      }
      return 0;
   }
}

/*
This code produces the following output:

Reflection.Parameterinfo

Mymethodbase = Void mymethod(Int32, System.String ByRef, System.String ByRef)
For parameter # 0, the ParameterType is - System.Int32
For parameter # 1, the ParameterType is - System.String&
For parameter # 2, the ParameterType is - System.String&
*/

[C++] 
#using <mscorlib.dll>
using namespace System;
using namespace System::Reflection;
using namespace System::Runtime::InteropServices;

public __gc class parminfo
{
public:
    static void mymethod (int int1m, [Out] String** str2m, String** str3m)
    {
        *str2m = S"in mymethod";
    }
};

int main()
{
    Console::WriteLine(S"\nReflection.Parameterinfo");

    //Get the ParameterInfo parameter of a function.

    //Get the type.
    Type* Mytype = Type::GetType(S"parminfo");

    //Get and display the method.
    MethodBase* Mymethodbase = Mytype->GetMethod(S"mymethod");
    Console::Write(S"\nMymethodbase = {0}", Mymethodbase);

    //Get the ParameterInfo array.
    ParameterInfo* Myarray[] = Mymethodbase->GetParameters();

    //Get and display the ParameterInfo of each parameter.
    System::Collections::IEnumerator* enum0 = Myarray->GetEnumerator();
    while (enum0->MoveNext())
    {
        ParameterInfo* Myparam = __try_cast<ParameterInfo*>(enum0->Current);
        Console::Write (S"\nFor parameter # {0}, the ParameterType is - {1}",
            __box(Myparam->Position), Myparam->ParameterType);
    }
    return 0;
}

/*
This code produces the following output:

Reflection.Parameterinfo

Mymethodbase = Void mymethod(Int32, System.String ByRef, System.String ByRef)
For parameter # 0, the ParameterType is - System.Int32
For parameter # 1, the ParameterType is - System.String&
For parameter # 2, the ParameterType is - System.String&
*/

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

ParameterInfo クラス | ParameterInfo メンバ | System.Reflection 名前空間