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

Delegate.CreateDelegate メソッド (Type, Type, String, Boolean, Boolean)

2013/12/12

大文字と小文字の区別方法およびバインドに失敗したときの動作を指定して、指定したクラスの指定した静的メソッドを表す、指定した型のデリゲートを作成します。

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

public static Delegate CreateDelegate(
	Type type,
	Type target,
	string method,
	bool ignoreCase,
	bool throwOnBindFailure
)

パラメーター

type
型: System.Type
作成するデリゲートの型。
target
型: System.Type
method を実装するクラス。
method
型: System.String
デリゲートによって表される静的メソッドの名前。
ignoreCase
型: System.Boolean
メソッド名の比較時に大文字と小文字の違いを無視する場合は true。それ以外の場合は false
throwOnBindFailure
型: System.Boolean
method をバインドできないときに例外をスローする場合は true。それ以外の場合は false

戻り値

型: System.Delegate
指定したクラスの指定した静的メソッドを表す、指定した型のデリゲート。

例外条件
ArgumentNullException

typenull です。

または

targetnull です。

または

methodnull です。

ArgumentException

typeMulticastDelegate を継承していません。

または

typeRuntimeType ではありません。

または

targetRuntimeType ではありません。

または

target がオープン ジェネリック型です。つまり、ContainsGenericParameters プロパティが true です。

または

methodstatic メソッド (Visual Basic では Shared メソッド) ではありません。

または

見つからないなどの原因で、method をバインドできません。throwOnBindFailuretrue です。

MissingMethodException

typeInvoke メソッドが見つかりません。

MethodAccessException

呼び出し元に method に対するアクセス権がありません。

または

アプリケーション コードは、たとえば Type.InvokeMember メソッドを使用して、このメンバー遅延バインディングにアクセスしようとします。

このメソッドは、静的メソッドのデリゲートだけを作成します。インスタンス メソッドとは、クラスのインスタンスに関連付けられるメソッドです。静的メソッドとは、クラス自体に関連付けられるメソッドです。

method にはアクセス可能なメソッドを指定する必要があります。

プラットフォーム メモ

 誤った引数を指定してデリゲートを作成しようとすると、CreateDelegateMissingMethodException をスローします。null オブジェクトで呼び出すと、Delegate.CreateDelegateTargetInvocationException をスローします。非インスタンス メソッドの場合、Delegate.CreateDelegateArgumentException の代わりに MissingMethodException をスローします。

Windows Phone OS

サポート: 8.0, 7.1, 7.0

表示:
© 2015 Microsoft