エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Type.GetMethods メソッド

2013/12/12

現在の Type のすべてのパブリック メソッドを返します。

Namespace:  System
アセンブリ:  mscorlib (mscorlib.dll 内)

public MethodInfo[] GetMethods()

戻り値

型: System.Reflection.MethodInfo []
現在の Type に対して定義されているすべてのパブリック メソッドを表す MethodInfo オブジェクトの配列。
または
現在の Type に対してパブリック メソッドが定義されていない場合は、MethodInfo 型の空の配列。

GetMethods メソッドから返されるメソッドは、アルファベット順や宣言順などの特定の順序で返されるわけではありません。したがって、メソッドが返される順序に依存するようなコードは避ける必要があります。

この呼び出しによって返されるメソッドの配列には、コンストラクターは含まれません。コンストラクターのメソッドを取得するには、GetConstructors() への別の呼び出しを行ってください。

型に対するリフレクション時に Get メソッドによって返される基本クラスのメンバーを次の表に示します。

メンバー型

静的

非静的

コンストラクター

いいえ

いいえ

フィールド

いいえ

はい。フィールドは常に名前と署名によって隠ぺいされます。

イベント

該当なし

共通型システムの規則では、継承は、プロパティを実装するメソッドの継承と同じになります。リフレクションは、プロパティを名前と署名によって隠ぺいされているとして扱います。下記のメモ 2 を参照してください。

メソッド

いいえ

はい。メソッド (仮想メソッドと非仮想メソッドの両方) は、名前によって隠ぺいすることも、名前と署名によって隠ぺいすることもできます。

入れ子にされた型

いいえ

いいえ

プロパティ

該当なし

共通型システムの規則では、継承は、プロパティを実装するメソッドの継承と同じになります。リフレクションは、プロパティを名前と署名によって隠ぺいされているとして扱います。下記のメモ 2 を参照してください。

メモ:

  1. 名前と署名による隠ぺいでは、カスタム修飾子、戻り値の型、パラメーターの型、sentinel、およびアンマネージ呼び出し規約を含めて、署名のすべての部分が判断の対象となります。これはバイナリ比較です。

  2. リフレクションの場合、プロパティおよびイベントは名前と署名によって隠ぺいされています。基本クラスに get アクセサーと set アクセサーの両方を持つプロパティがあり、派生クラスには get アクセサーしかない場合、派生クラスのプロパティにより基本クラスのプロパティが隠ぺいされ、基本クラスの set アクセサーにはアクセスできません。

  3. カスタム属性は、共通型システムの一部ではありません。

メモメモ:

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

現在の T:System.Type が構築ジェネリック型を表している場合、このメソッドは、型パラメーターを適切な型の引数で置き換えて MethodInfo オブジェクトを返します。

現在の Type がジェネリック型またはジェネリック メソッドの定義の型パラメーターを表している場合、このメソッドはクラス制約のメソッドを検索します。クラス制約がない場合は、Object のメソッドを検索します。

バージョンについてのメモ

Windows Phone

返されたメソッドの 1 つが、実行時に使用できない型を含んでいる場合は、GetMethodsInvalidProgramException をスローします。

Windows Phone では、GetMethodsGetMembers は同じオブジェクト インスタンスを返しません。

Windows Phone OS

サポート: 8.0, 7.1, 7.0

表示:
© 2015 Microsoft