Delegate.CreateDelegate メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した型のデリゲートを作成します。
オーバーロード
CreateDelegate(Type, Object, String, Boolean, Boolean) |
指定したクラス インスタンスで呼び出す、指定したインスタンス メソッドを表す、指定した型のデリゲートを作成します。バインドに失敗した場合は、指定した大文字と小文字の区別と指定した動作を使用します。 |
CreateDelegate(Type, Type, String, Boolean) |
指定したクラスの指定した静的メソッドを表す、指定した型のデリゲートを、指定した大文字と小文字を区別して作成します。 |
CreateDelegate(Type, Object, String, Boolean) |
指定したクラス インスタンスで呼び出す指定したインスタンス メソッドを表す、指定した型のデリゲートを、指定した大文字と小文字を区別して作成します。 |
CreateDelegate(Type, Object, MethodInfo, Boolean) |
指定した静的メソッドまたはインスタンス メソッドを表す、指定した型のデリゲートを作成します。最初の引数を指定し、バインドに失敗した場合の動作を指定します。 |
CreateDelegate(Type, Type, String, Boolean, Boolean) |
指定したクラスの指定した静的メソッドを表す、指定した型のデリゲートを作成します。バインドに失敗した場合は、指定した大文字と小文字の区別と指定した動作を使用します。 |
CreateDelegate(Type, MethodInfo, Boolean) |
指定した静的メソッドを表す、指定した型のデリゲートを作成します。バインドに失敗した場合の動作を指定します。 |
CreateDelegate(Type, Object, String) |
指定したクラス インスタンスで呼び出す指定したインスタンス メソッドを表す、指定した型のデリゲートを作成します。 |
CreateDelegate(Type, Object, MethodInfo) |
指定した最初の引数を使用して、指定した静的メソッドまたはインスタンス メソッドを表す、指定した型のデリゲートを作成します。 |
CreateDelegate(Type, MethodInfo) |
指定したメソッドを表す、指定した型のデリゲートを作成します。 |
CreateDelegate(Type, Type, String) |
指定したクラスの指定した静的メソッドを表す、指定した型のデリゲートを作成します。 |
CreateDelegate(Type, Object, String, Boolean, Boolean)
指定したクラス インスタンスで呼び出す、指定したインスタンス メソッドを表す、指定した型のデリゲートを作成します。バインドに失敗した場合は、指定した大文字と小文字の区別と指定した動作を使用します。
public:
static Delegate ^ CreateDelegate(Type ^ type, System::Object ^ target, System::String ^ method, bool ignoreCase, bool throwOnBindFailure);
public static Delegate? CreateDelegate (Type type, object target, string method, bool ignoreCase, bool throwOnBindFailure);
public static Delegate CreateDelegate (Type type, object target, string method, bool ignoreCase, bool throwOnBindFailure);
static member CreateDelegate : Type * obj * string * bool * bool -> Delegate
Public Shared Function CreateDelegate (type As Type, target As Object, method As String, ignoreCase As Boolean, throwOnBindFailure As Boolean) As Delegate
パラメーター
- target
- Object
method
が呼び出されるクラス インスタンス。
- method
- String
デリゲートが表すインスタンス メソッドの名前。
- ignoreCase
- Boolean
メソッドの名前を比較するときに大文字と小文字を無視するかどうかを示すブール値。
- throwOnBindFailure
- Boolean
method
バインドできない場合に例外をスローする true
。それ以外の場合は、false
します。
戻り値
指定したクラス インスタンスで呼び出す、指定したインスタンス メソッドを表す、指定した型のデリゲート。
例外
type
は MulticastDelegateを継承しません。
-又は-
type
は RuntimeType
ではありません。 リフレクションのランタイム型の
-又は-
method
はインスタンス メソッドではありません。
-又は-
method
が見つからない、throwOnBindFailure
が true
など、バインドできません。
type
の Invoke
メソッドが見つかりません。
呼び出し元には、method
にアクセスするために必要なアクセス許可がありません。
注釈
このメソッドは、インスタンス メソッドのデリゲートのみを作成します。 インスタンス メソッドは、クラスのインスタンスに関連付けられているメソッドです。静的メソッドは、クラス自体に関連付けられているメソッドです。
こちらもご覧ください
適用対象
CreateDelegate(Type, Type, String, Boolean)
- ソース:
- Delegate.cs
- ソース:
- Delegate.cs
- ソース:
- Delegate.cs
指定したクラスの指定した静的メソッドを表す、指定した型のデリゲートを、指定した大文字と小文字を区別して作成します。
public:
static Delegate ^ CreateDelegate(Type ^ type, Type ^ target, System::String ^ method, bool ignoreCase);
public static Delegate CreateDelegate (Type type, Type target, string method, bool ignoreCase);
static member CreateDelegate : Type * Type * string * bool -> Delegate
Public Shared Function CreateDelegate (type As Type, target As Type, method As String, ignoreCase As Boolean) As Delegate
パラメーター
- method
- String
デリゲートが表す静的メソッドの名前。
- ignoreCase
- Boolean
メソッドの名前を比較するときに大文字と小文字を無視するかどうかを示すブール値。
戻り値
指定したクラスの指定した静的メソッドを表す、指定した型のデリゲート。
例外
type
は MulticastDelegateを継承しません。
-又は-
type
は RuntimeType
ではありません。 リフレクションのランタイム型の
-又は-
target
は RuntimeType
ではありません。
-又は-
target
はオープン ジェネリック型です。 つまり、その ContainsGenericParameters プロパティは true
です。
-又は-
method
は static
メソッドではありません (Visual Basic のShared
メソッド)。
-又は-
method
が見つからないなど、バインドできません。
type
の Invoke
メソッドが見つかりません。
呼び出し元には、method
にアクセスするために必要なアクセス許可がありません。
注釈
このメソッドは、静的メソッド専用のデリゲートを作成します。 インスタンス メソッドは、クラスのインスタンスに関連付けられているメソッドです。静的メソッドは、クラス自体に関連付けられているメソッドです。
このメソッド オーバーロードは、CreateDelegate(Type, Type, String, Boolean, Boolean) メソッドオーバーロードを呼び出し、throwOnBindFailure
の true
を指定することと同じです。
こちらもご覧ください
適用対象
CreateDelegate(Type, Object, String, Boolean)
- ソース:
- Delegate.cs
- ソース:
- Delegate.cs
- ソース:
- Delegate.cs
指定したクラス インスタンスで呼び出す指定したインスタンス メソッドを表す、指定した型のデリゲートを、指定した大文字と小文字を区別して作成します。
public:
static Delegate ^ CreateDelegate(Type ^ type, System::Object ^ target, System::String ^ method, bool ignoreCase);
public static Delegate CreateDelegate (Type type, object target, string method, bool ignoreCase);
static member CreateDelegate : Type * obj * string * bool -> Delegate
Public Shared Function CreateDelegate (type As Type, target As Object, method As String, ignoreCase As Boolean) As Delegate
パラメーター
- target
- Object
method
が呼び出されるクラス インスタンス。
- method
- String
デリゲートが表すインスタンス メソッドの名前。
- ignoreCase
- Boolean
メソッドの名前を比較するときに大文字と小文字を無視するかどうかを示すブール値。
戻り値
指定したクラス インスタンスで呼び出す、指定したインスタンス メソッドを表す、指定した型のデリゲート。
例外
type
は MulticastDelegateを継承しません。
-又は-
type
は RuntimeType
ではありません。 リフレクションのランタイム型の
-又は-
method
はインスタンス メソッドではありません。
-又は-
method
が見つからないなど、バインドできません。
type
の Invoke
メソッドが見つかりません。
呼び出し元には、method
にアクセスするために必要なアクセス許可がありません。
注釈
このメソッドは、インスタンス メソッドのデリゲートのみを作成します。 インスタンス メソッドは、クラスのインスタンスに関連付けられているメソッドです。静的メソッドは、クラス自体に関連付けられているメソッドです。
このメソッド オーバーロードは、CreateDelegate(Type, Object, String, Boolean, Boolean) メソッドオーバーロードを呼び出し、throwOnBindFailure
の true
を指定することと同じです。
こちらもご覧ください
適用対象
CreateDelegate(Type, Object, MethodInfo, Boolean)
指定した静的メソッドまたはインスタンス メソッドを表す、指定した型のデリゲートを作成します。最初の引数を指定し、バインドに失敗した場合の動作を指定します。
public:
static Delegate ^ CreateDelegate(Type ^ type, System::Object ^ firstArgument, System::Reflection::MethodInfo ^ method, bool throwOnBindFailure);
public static Delegate? CreateDelegate (Type type, object? firstArgument, System.Reflection.MethodInfo method, bool throwOnBindFailure);
public static Delegate CreateDelegate (Type type, object firstArgument, System.Reflection.MethodInfo method, bool throwOnBindFailure);
static member CreateDelegate : Type * obj * System.Reflection.MethodInfo * bool -> Delegate
Public Shared Function CreateDelegate (type As Type, firstArgument As Object, method As MethodInfo, throwOnBindFailure As Boolean) As Delegate
パラメーター
- method
- MethodInfo
デリゲートが表す静的メソッドまたはインスタンス メソッドを記述する MethodInfo。
- throwOnBindFailure
- Boolean
method
バインドできない場合に例外をスローする true
。それ以外の場合は、false
します。
戻り値
指定した静的メソッドまたはインスタンス メソッドを表す、指定した型のデリゲート。throwOnBindFailure
が false
され、デリゲートを method
にバインドできない場合は null
。
例外
type
は MulticastDelegateを継承しません。
-又は-
type
は RuntimeType
ではありません。 リフレクションのランタイム型の
-又は-
method
バインドできず、throwOnBindFailure
が true
。
-又は-
method
は RuntimeMethodInfo
ではありません。 リフレクションのランタイム型の
type
の Invoke
メソッドが見つかりません。
呼び出し元には、method
にアクセスするために必要なアクセス許可がありません。
注釈
このメソッドオーバーロードと CreateDelegate(Type, Object, MethodInfo) メソッドオーバーロードは、バインドに失敗すると常にスローされ、デリゲートを作成する最も柔軟な方法を提供します。 これらを使用して、最初の引数の有無にかかわらず、静的メソッドまたはインスタンス メソッドのデリゲートを作成できます。
手記
最初の引数を指定しない場合は、CreateDelegate(Type, MethodInfo, Boolean) メソッドのオーバーロードを使用してパフォーマンスを向上させます。
詳細と例については、「System.Delegate.CreateDelegateの補足 API 解説
こちらもご覧ください
適用対象
CreateDelegate(Type, Type, String, Boolean, Boolean)
指定したクラスの指定した静的メソッドを表す、指定した型のデリゲートを作成します。バインドに失敗した場合は、指定した大文字と小文字の区別と指定した動作を使用します。
public:
static Delegate ^ CreateDelegate(Type ^ type, Type ^ target, System::String ^ method, bool ignoreCase, bool throwOnBindFailure);
public static Delegate? CreateDelegate (Type type, Type target, string method, bool ignoreCase, bool throwOnBindFailure);
public static Delegate CreateDelegate (Type type, Type target, string method, bool ignoreCase, bool throwOnBindFailure);
static member CreateDelegate : Type * Type * string * bool * bool -> Delegate
Public Shared Function CreateDelegate (type As Type, target As Type, method As String, ignoreCase As Boolean, throwOnBindFailure As Boolean) As Delegate
パラメーター
- method
- String
デリゲートが表す静的メソッドの名前。
- ignoreCase
- Boolean
メソッドの名前を比較するときに大文字と小文字を無視するかどうかを示すブール値。
- throwOnBindFailure
- Boolean
method
バインドできない場合に例外をスローする true
。それ以外の場合は、false
します。
戻り値
指定したクラスの指定した静的メソッドを表す、指定した型のデリゲート。
例外
type
は MulticastDelegateを継承しません。
-又は-
type
は RuntimeType
ではありません。 リフレクションのランタイム型の
-又は-
target
は RuntimeType
ではありません。
-又は-
target
はオープン ジェネリック型です。 つまり、その ContainsGenericParameters プロパティは true
です。
-又は-
method
は static
メソッドではありません (Visual Basic のShared
メソッド)。
-又は-
method
が見つからない、throwOnBindFailure
が true
など、バインドできません。
type
の Invoke
メソッドが見つかりません。
呼び出し元には、method
にアクセスするために必要なアクセス許可がありません。
注釈
このメソッドは、静的メソッド専用のデリゲートを作成します。 インスタンス メソッドは、クラスのインスタンスに関連付けられているメソッドです。静的メソッドは、クラス自体に関連付けられているメソッドです。
こちらもご覧ください
適用対象
CreateDelegate(Type, MethodInfo, Boolean)
指定した静的メソッドを表す、指定した型のデリゲートを作成します。バインドに失敗した場合の動作を指定します。
public:
static Delegate ^ CreateDelegate(Type ^ type, System::Reflection::MethodInfo ^ method, bool throwOnBindFailure);
public static Delegate? CreateDelegate (Type type, System.Reflection.MethodInfo method, bool throwOnBindFailure);
public static Delegate CreateDelegate (Type type, System.Reflection.MethodInfo method, bool throwOnBindFailure);
static member CreateDelegate : Type * System.Reflection.MethodInfo * bool -> Delegate
Public Shared Function CreateDelegate (type As Type, method As MethodInfo, throwOnBindFailure As Boolean) As Delegate
パラメーター
- method
- MethodInfo
デリゲートが表す静的メソッドまたはインスタンス メソッドを記述する MethodInfo。
- throwOnBindFailure
- Boolean
method
バインドできない場合に例外をスローする true
。それ以外の場合は、false
します。
戻り値
指定した静的メソッドを表す、指定した型のデリゲート。
例外
type
は MulticastDelegateを継承しません。
-又は-
type
は RuntimeType
ではありません。 リフレクションのランタイム型の
-又は-
method
バインドできず、throwOnBindFailure
が true
。
-又は-
method
は RuntimeMethodInfo
ではありません。 リフレクションのランタイム型の
type
の Invoke
メソッドが見つかりません。
呼び出し元には、method
にアクセスするために必要なアクセス許可がありません。
注釈
このメソッド オーバーロードでは、オープン静的メソッド デリゲートとオープン インスタンス メソッド デリゲート (つまり、インスタンス メソッドの非表示の最初の引数を公開するデリゲート) を作成できます。 詳細な説明については、より一般的な CreateDelegate(Type, Object, MethodInfo, Boolean) メソッドオーバーロードを参照してください。これにより、インスタンスまたは静的メソッドに対して、開いているデリゲートと閉じたデリゲートのすべての組み合わせを作成できます。
手記
このメソッドオーバーロードは、デリゲートが最初の引数で閉じられない場合に使用する必要があります。その場合はやや高速であるためです。
例については、「System.Delegate.CreateDelegateの補足 API 解説
こちらもご覧ください
適用対象
CreateDelegate(Type, Object, String)
- ソース:
- Delegate.cs
- ソース:
- Delegate.cs
- ソース:
- Delegate.cs
指定したクラス インスタンスで呼び出す指定したインスタンス メソッドを表す、指定した型のデリゲートを作成します。
public:
static Delegate ^ CreateDelegate(Type ^ type, System::Object ^ target, System::String ^ method);
public static Delegate CreateDelegate (Type type, object target, string method);
static member CreateDelegate : Type * obj * string -> Delegate
Public Shared Function CreateDelegate (type As Type, target As Object, method As String) As Delegate
パラメーター
- target
- Object
method
が呼び出されるクラス インスタンス。
- method
- String
デリゲートが表すインスタンス メソッドの名前。
戻り値
指定したクラス インスタンスで呼び出す、指定したインスタンス メソッドを表す、指定した型のデリゲート。
例外
type
は MulticastDelegateを継承しません。
-又は-
type
は RuntimeType
ではありません。 リフレクションのランタイム型の
-又は-
method
はインスタンス メソッドではありません。
-又は-
method
が見つからないなど、バインドできません。
type
の Invoke
メソッドが見つかりません。
呼び出し元には、method
にアクセスするために必要なアクセス許可がありません。
注釈
このメソッドは、インスタンス メソッドのデリゲートのみを作成します。 インスタンス メソッドは、クラスのインスタンスに関連付けられているメソッドです。静的メソッドは、クラス自体に関連付けられているメソッドです。
このメソッド オーバーロードは、CreateDelegate(Type, Object, String, Boolean, Boolean) メソッド のオーバーロードを呼び出し、throwOnBindFailure
の ignoreCase
と true
の false
を指定することと同じです。
こちらもご覧ください
適用対象
CreateDelegate(Type, Object, MethodInfo)
- ソース:
- Delegate.cs
- ソース:
- Delegate.cs
- ソース:
- Delegate.cs
指定した最初の引数を使用して、指定した静的メソッドまたはインスタンス メソッドを表す、指定した型のデリゲートを作成します。
public:
static Delegate ^ CreateDelegate(Type ^ type, System::Object ^ firstArgument, System::Reflection::MethodInfo ^ method);
public static Delegate CreateDelegate (Type type, object? firstArgument, System.Reflection.MethodInfo method);
public static Delegate CreateDelegate (Type type, object firstArgument, System.Reflection.MethodInfo method);
static member CreateDelegate : Type * obj * System.Reflection.MethodInfo -> Delegate
Public Shared Function CreateDelegate (type As Type, firstArgument As Object, method As MethodInfo) As Delegate
パラメーター
- firstArgument
- Object
デリゲートがバインドされているオブジェクト、または method
を static
として扱う null
(Visual Basic のShared
)。
- method
- MethodInfo
デリゲートが表す静的メソッドまたはインスタンス メソッドを記述する MethodInfo。
戻り値
指定した静的メソッドまたはインスタンス メソッドを表す、指定した型のデリゲート。
例外
type
は MulticastDelegateを継承しません。
-又は-
type
は RuntimeType
ではありません。 リフレクションのランタイム型の
-又は-
method
はバインドできません。
-又は-
method
は RuntimeMethodInfo
ではありません。 リフレクションのランタイム型の
type
の Invoke
メソッドが見つかりません。
呼び出し元には、method
にアクセスするために必要なアクセス許可がありません。
注釈
このメソッド オーバーロードの呼び出しは、CreateDelegate(Type, Object, MethodInfo, Boolean) メソッドのオーバーロードを呼び出し、throwOnBindFailure
の true
を指定することと同じです。 これら 2 つのオーバーロードは、デリゲートを作成する最も柔軟な方法を提供します。 これらを使用して、静的メソッドまたはインスタンス メソッドのデリゲートを作成し、必要に応じて最初の引数を指定できます。
手記
最初の引数を指定しない場合は、CreateDelegate(Type, MethodInfo) メソッドのオーバーロードを使用してパフォーマンスを向上させます。
この API の詳細については、「System.Delegate.CreateDelegateの補足 API 解説
こちらもご覧ください
適用対象
CreateDelegate(Type, MethodInfo)
- ソース:
- Delegate.cs
- ソース:
- Delegate.cs
- ソース:
- Delegate.cs
指定したメソッドを表す、指定した型のデリゲートを作成します。
public:
static Delegate ^ CreateDelegate(Type ^ type, System::Reflection::MethodInfo ^ method);
public static Delegate CreateDelegate (Type type, System.Reflection.MethodInfo method);
static member CreateDelegate : Type * System.Reflection.MethodInfo -> Delegate
Public Shared Function CreateDelegate (type As Type, method As MethodInfo) As Delegate
パラメーター
- method
- MethodInfo
デリゲートが表す静的メソッドまたはインスタンス メソッドを記述する MethodInfo。
戻り値
指定したメソッドを表す、指定した型のデリゲート。
例外
type
は MulticastDelegateを継承しません。
-又は-
type
は RuntimeType
ではありません。 リフレクションのランタイム型の
-又は-
method
はバインドできません。
-又は-
method
は RuntimeMethodInfo
ではありません。 リフレクションのランタイム型の
type
の Invoke
メソッドが見つかりません。
呼び出し元には、method
にアクセスするために必要なアクセス許可がありません。
注釈
このオーバーロードでは、静的メソッドおよびオープン インスタンス メソッド デリゲートのデリゲートを作成できます。つまり、インスタンス メソッドの非表示の最初の引数を明示的に指定するデリゲートです。 詳細な説明については、より一般的な CreateDelegate(Type, Object, MethodInfo) メソッドオーバーロードを参照してください。これにより、インスタンスまたは静的メソッドの開いているデリゲートまたは閉じたデリゲートのすべての組み合わせを作成でき、必要に応じて最初の引数を指定できます。
手記
このメソッドオーバーロードは、デリゲートが最初の引数で閉じられない場合に使用する必要があります。その場合はやや高速であるためです。
この API の詳細については、「System.Delegate.CreateDelegateの補足 API 解説
こちらもご覧ください
適用対象
CreateDelegate(Type, Type, String)
- ソース:
- Delegate.cs
- ソース:
- Delegate.cs
- ソース:
- Delegate.cs
指定したクラスの指定した静的メソッドを表す、指定した型のデリゲートを作成します。
public:
static Delegate ^ CreateDelegate(Type ^ type, Type ^ target, System::String ^ method);
public static Delegate CreateDelegate (Type type, Type target, string method);
static member CreateDelegate : Type * Type * string -> Delegate
Public Shared Function CreateDelegate (type As Type, target As Type, method As String) As Delegate
パラメーター
- method
- String
デリゲートが表す静的メソッドの名前。
戻り値
指定したクラスの指定した静的メソッドを表す、指定した型のデリゲート。
例外
type
は MulticastDelegateを継承しません。
-又は-
type
は RuntimeType
ではありません。 リフレクションのランタイム型の
-又は-
target
は RuntimeType
ではありません。
-又は-
target
はオープン ジェネリック型です。 つまり、その ContainsGenericParameters プロパティは true
です。
-又は-
method
は static
メソッドではありません (Visual Basic のShared
メソッド)。
type
の Invoke
メソッドが見つかりません。
呼び出し元には、method
にアクセスするために必要なアクセス許可がありません。
注釈
このメソッドは、静的メソッド専用のデリゲートを作成します。 インスタンス メソッドは、クラスのインスタンスに関連付けられているメソッドです。静的メソッドは、クラス自体に関連付けられているメソッドです。
このメソッド オーバーロードは、CreateDelegate(Type, Type, String, Boolean, Boolean) メソッド のオーバーロードを呼び出し、throwOnBindFailure
の ignoreCase
と true
の false
を指定することと同じです。
こちらもご覧ください
適用対象
.NET