次の方法で共有


Type.GetMethod メソッド (String, Type[], ParameterModifier )

指定したパブリック メソッドのうち、指定した引数の型および修飾子と一致するパラメータが設定されているものを検索します。

Overloads Public Function GetMethod( _
   ByVal name As String, _   ByVal types() As Type, _   ByVal modifiers() As ParameterModifier _) As MethodInfo
[C#]
public MethodInfo GetMethod(stringname,Type[] types,ParameterModifier[] modifiers);
[C++]
public: MethodInfo* GetMethod(String* name,Type* types[],ParameterModifiermodifiers[]);
[JScript]
public function GetMethod(
   name : String,types : Type[],modifiers : ParameterModifier[]) : MethodInfo;

パラメータ

  • name
    取得するパブリック メソッドの名前を格納している String

  • types
    取得するメソッドのパラメータの数、順序、および型を表す Type オブジェクトの配列。

    または

    パラメータをとらないメソッドを取得するための、 Type 型の空の配列 (Type[] types = new Type[0])。

  • modifiers
    types 配列内の対応する要素に関連付けられている属性を表す ParameterModifier オブジェクトの配列。既定のバインダは、このパラメータを処理しません。

戻り値

指定した要件と一致するパブリック メソッドが存在する場合は、そのパブリック メソッドを表す MethodInfo オブジェクト。それ以外の場合は null 参照 (Visual Basic では Nothing) 。

例外

例外の種類 条件
AmbiguousMatchException 指定した名前を持ち、指定したパラメータが設定されているメソッドが 2 つ以上存在します。
ArgumentNullException name が null 参照 (Visual Basic では Nothing) です。

または

types が null 参照 (Nothing) です。

または

types の 1 つの要素が null 参照 (Nothing) です。

ArgumentException types が多次元です。

または

modifiers が多次元です。

または

types と modifiers の長さが異なります。

解説

既定のバインダは ParameterModifier (modifiers パラメータ) を処理しませんが、 System.Reflection.Binder 抽象クラスを使用して modifiers を処理するカスタム バインダを記述できます。 ParameterModifier は、COM 相互運用機能によって呼び出すときだけに使用され、参照渡しされるパラメータだけが処理されます。

types 配列と modifiers 配列の長さが同じです。types 配列で指定するパラメータには、 modifiers 配列で指定されている pdIn、pdOut、pdLcid、pdRetval、pdOptional、pdHasDefault の各属性を設定できます。これらの属性は、それぞれ [In]、[Out]、[lcid]、[retval]、[optional]、およびパラメータが既定値を持つかどうかを指定する値を表します。パラメータに関連付けられた属性はメタデータに格納され、相互運用性のために使用されます。

name の検索では大文字と小文字が区別されます。

要求された型がパブリックではなく、呼び出し元に現在のアセンブリ外の非パブリック オブジェクトをリフレクションするための ReflectionPermission がない場合、このメソッドは null 参照 (Visual Basic では Nothing) を返します。

メモ   コンストラクタおよびメソッドを検索する場合、パラメータは省略できません。パラメータは呼び出すときだけ省略できます。

必要条件

プラットフォーム: 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

.NET Framework セキュリティ:

参照

Type クラス | Type メンバ | System 名前空間 | Type.GetMethod オーバーロードの一覧 | MethodInfo | String | DefaultBinder | ParameterModifier | ReflectionPermission | GetMethodImpl | GetMethods