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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")]
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);
public static Delegate? CreateDelegate(Type type, object target, string method, bool ignoreCase, bool throwOnBindFailure);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")>]
static member CreateDelegate : Type * obj * string * bool * bool -> Delegate
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
true
methodバインドできない場合は例外をスローします。それ以外の場合はfalse。
返品
指定したクラス インスタンスで呼び出す、指定したインスタンス メソッドを表す、指定した型のデリゲート。
- 属性
例外
type は MulticastDelegateを継承しません。
-又は-
type は RuntimeTypeではありません。
-又は-
method はインスタンス メソッドではありません。
-又は-
method はバインドできません。たとえば、見つからないため、 throwOnBindFailure は true。
typeのInvokeメソッドが見つかりません。
呼び出し元には、 methodにアクセスするために必要なアクセス許可がありません。
注釈
このメソッドは、インスタンス メソッドのデリゲートのみを作成します。 インスタンス メソッドは、クラスのインスタンスに関連付けられているメソッドです。静的メソッドは、クラス自体に関連付けられているメソッドです。
こちらもご覧ください
適用対象
CreateDelegate(Type, Type, String, Boolean)
- ソース:
- Delegate.cs
- ソース:
- Delegate.cs
- ソース:
- 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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")]
public static Delegate CreateDelegate(Type type, Type target, string method, bool ignoreCase);
static member CreateDelegate : Type * Type * string * bool -> Delegate
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")>]
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にアクセスするために必要なアクセス許可がありません。
注釈
このメソッドは、静的メソッド専用のデリゲートを作成します。 インスタンス メソッドは、クラスのインスタンスに関連付けられているメソッドです。静的メソッドは、クラス自体に関連付けられているメソッドです。
このメソッド のオーバーロードは、throwOnBindFailureのtrueを指定して、CreateDelegate(Type, Type, String, Boolean, Boolean) メソッドのオーバーロードを呼び出すことと同じです。
こちらもご覧ください
適用対象
CreateDelegate(Type, Object, String, Boolean)
- ソース:
- Delegate.cs
- ソース:
- Delegate.cs
- ソース:
- Delegate.cs
- ソース:
- Delegate.cs
- ソース:
- Delegate.cs
指定したクラス インスタンスで呼び出す指定したインスタンス メソッドを表す、指定した型のデリゲートを、指定した大文字と小文字を区別して作成します。
public:
static Delegate ^ CreateDelegate(Type ^ type, System::Object ^ target, System::String ^ method, bool ignoreCase);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")]
public static Delegate CreateDelegate(Type type, object target, string method, bool ignoreCase);
public static Delegate CreateDelegate(Type type, object target, string method, bool ignoreCase);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")>]
static member CreateDelegate : Type * obj * string * bool -> Delegate
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にアクセスするために必要なアクセス許可がありません。
注釈
このメソッドは、インスタンス メソッドのデリゲートのみを作成します。 インスタンス メソッドは、クラスのインスタンスに関連付けられているメソッドです。静的メソッドは、クラス自体に関連付けられているメソッドです。
このメソッド のオーバーロードは、throwOnBindFailureのtrueを指定して、CreateDelegate(Type, Object, String, Boolean, Boolean) メソッドのオーバーロードを呼び出すことと同じです。
こちらもご覧ください
適用対象
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
true
methodバインドできない場合は例外をスローします。それ以外の場合は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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")]
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
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")>]
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
true
methodバインドできない場合は例外をスローします。それ以外の場合は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
true
methodバインドできない場合は例外をスローします。それ以外の場合は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
- ソース:
- Delegate.cs
- ソース:
- Delegate.cs
指定したクラス インスタンスで呼び出す指定したインスタンス メソッドを表す、指定した型のデリゲートを作成します。
public:
static Delegate ^ CreateDelegate(Type ^ type, System::Object ^ target, System::String ^ method);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")]
public static Delegate CreateDelegate(Type type, object target, string method);
public static Delegate CreateDelegate(Type type, object target, string method);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")>]
static member CreateDelegate : Type * obj * string -> Delegate
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) メソッドオーバーロードを呼び出し、ignoreCaseのfalseを指定し、throwOnBindFailureにtrueするのと同じです。
こちらもご覧ください
適用対象
CreateDelegate(Type, Object, MethodInfo)
- ソース:
- Delegate.cs
- ソース:
- Delegate.cs
- ソース:
- 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 (Visual Basic の Shared) として扱う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
- ソース:
- 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
- ソース:
- 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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")]
public static Delegate CreateDelegate(Type type, Type target, string method);
static member CreateDelegate : Type * Type * string -> Delegate
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The target method might be removed")>]
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) メソッドオーバーロードを呼び出し、ignoreCaseのfalseを指定し、throwOnBindFailureにtrueするのと同じです。