情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

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

2013/12/12

大文字と小文字の区別方法を指定して、指定したクラス インスタンスに対して呼び出す指定した型のデリゲートを作成します。

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

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

パラメーター

type
型: System.Type
作成するデリゲートの型。
target
型: System.Object
method を呼び出す対象のクラス インスタンス。
method
型: System.String
デリゲートによって表されるインスタンス メソッドの名前。
ignoreCase
型: System.Boolean
メソッド名の比較時に大文字と小文字の違いを無視する場合は true。それ以外の場合は false

戻り値

型: System.Delegate
指定したクラス インスタンスに対して呼び出す指定したインスタンス メソッドを表す、指定した型のデリゲート。

例外条件
ArgumentNullException

typenull です。

または

targetnull です。

または

methodnull です。

ArgumentException

typeMulticastDelegate を継承していません。

または

typeRuntimeType ではありません。

または

method がインスタンス メソッドではありません。

または

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

MissingMethodException

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

MethodAccessException

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

または

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

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

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

このメソッド オーバーロードは、CreateDelegate(Type, Object, String, Boolean, Boolean) メソッド オーバーロードを呼び出し、throwOnBindFailuretrue を指定することに相当します。

プラットフォーム メモ

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

Windows Phone OS

サポート: 8.0, 7.1, 7.0

表示: