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

MethodBase.GetParameters メソッド

2013/12/12

派生クラスでオーバーライドされた場合、このメソッドまたはコンストラクターのパラメーターを取得します。

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

public abstract ParameterInfo[] GetParameters()

戻り値

型: System.Reflection.ParameterInfo []
このメソッドまたはコンストラクターのパラメーターを含む配列。

例外条件
MethodAccessException

このメンバーは、Type.InvokeMember などの機構を通じて遅延バインディングで呼び出されます。

GetParameters メソッドを使用して、デリゲートの Invoke メソッドのパラメーターを取得する例を次に示します。

この例では、MyDelegate というデリゲートと、MyDelegate 型の ev というイベントを定義しています。Main メソッドのコードでは、イベント シグネチャを検出します。検出するには、イベントのデリゲート型を取得し、デリゲート型の Invoke メソッドを取得した後、パラメーターを取得して表示します。

メモメモ:

この例を実行するには、「Windows Phone での静的 TextBlock コントロールのあるコード例のビルド」を参照してください。


using System;
using System.Reflection;

public delegate void MyDelegate(int i, ref string s);

public class Example
{
    public event MyDelegate MyEvent;

    public static void Demo(System.Windows.Controls.TextBlock outputBlock)
    {
        Type delegateType = typeof(Example).GetEvent("MyEvent").EventHandlerType;

        // The Invoke method of a delegate type always has the same signature
        // as the delegate.
        MethodInfo invoke = delegateType.GetMethod("Invoke");

        foreach( ParameterInfo p in invoke.GetParameters() )
        {
            outputBlock.Text += p.ParameterType.ToString() + "\n";
        }
    }
}

/* This example produces the following output:

System.Int32
System.String&
 */


Windows Phone OS

サポート: 8.0, 7.1, 7.0

表示:
© 2014 Microsoft