Delegate.CreateDelegate メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した型のデリゲートを作成します。
オーバーロード
CreateDelegate(Type, Object, String, Boolean, Boolean) |
大文字と小文字の区別方法およびバインドに失敗したときの動作を指定して、指定したクラス インスタンスに対して呼び出す指定した型のデリゲートを作成します。 |
CreateDelegate(Type, Type, String, Boolean) |
指定したクラスの指定した静的メソッドを表す、指定した型のデリゲートを、大文字と小文字の区別方法を指定して作成します。 |
CreateDelegate(Type, Object, String, Boolean) |
大文字と小文字の区別方法を指定して、指定したクラス インスタンスに対して呼び出す指定した型のデリゲートを作成します。 |
CreateDelegate(Type, Object, MethodInfo, Boolean) |
指定された静的メソッドまたはインスタンス メソッドを表す、指定した型のデリゲートを、第 1 引数およびバインドに失敗したときの動作を指定して作成します。 |
CreateDelegate(Type, Type, String, Boolean, Boolean) |
大文字と小文字の区別方法およびバインドに失敗したときの動作を指定して、指定したクラスの指定した静的メソッドを表す、指定した型のデリゲートを作成します。 |
CreateDelegate(Type, MethodInfo, Boolean) |
指定された静的メソッドを表す、指定された型のデリゲートを、バインドに失敗した場合の動作を指定して作成します。 |
CreateDelegate(Type, Object, String) |
指定したクラス インスタンスに対して呼び出す指定したインスタンス メソッドを表す、指定した型のデリゲートを作成します。 |
CreateDelegate(Type, Object, MethodInfo) |
指定された静的メソッドまたはインスタンス メソッドを表す、指定した型のデリゲートを、第 1 引数を指定して作成します。 |
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)呼び出すことtrue
throwOnBindFailure
と同じです。
こちらもご覧ください
適用対象
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)呼び出すことtrue
throwOnBindFailure
と同じです。
こちらもご覧ください
適用対象
CreateDelegate(Type, Object, MethodInfo, Boolean)
指定された静的メソッドまたはインスタンス メソッドを表す、指定した型のデリゲートを、第 1 引数およびバインドに失敗したときの動作を指定して作成します。
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)と同じで、 に と true
throwOnBindFailure
をfalse
ignoreCase
指定します。
こちらもご覧ください
適用対象
CreateDelegate(Type, Object, MethodInfo)
- ソース:
- Delegate.cs
- ソース:
- Delegate.cs
- ソース:
- Delegate.cs
指定された静的メソッドまたはインスタンス メソッドを表す、指定した型のデリゲートを、第 1 引数を指定して作成します。
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
) として扱う場合は null
。
- 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
メソッド) ではありません。
- または -
見つからないなどの原因により、method
をバインドできません。また、throwOnBindFailure
が true
です。
type
の Invoke
メソッドが見つかりません。
method
へのアクセスに必要なアクセス許可が呼び出し元にありません。
注釈
このメソッドは、静的メソッド専用のデリゲートを作成します。 インスタンス メソッドは、 クラスのインスタンスに関連付けられているメソッドです。静的メソッドは、 クラス自体に関連付けられているメソッドです。
このメソッド オーバーロードは、 に と を指定してCreateDelegate(Type, Type, String, Boolean, Boolean)、メソッド オーバーロードを呼び出すことfalse
ignoreCase
とtrue
throwOnBindFailure
同じです。
こちらもご覧ください
適用対象
.NET
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示