ConstructorInfo.Invoke メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
インスタンスがリフレクションするコンストラクターを呼び出します。
オーバーロード
Invoke(Object[]) |
通常は使用しないパラメーターの既定値を指定して、指定されたパラメーターを持つインスタンスがリフレクトしたコンストラクターを呼び出します。 |
Invoke(BindingFlags, Binder, Object[], CultureInfo) |
派生クラスに実装された場合、指定されている |
Invoke(Object[])
通常は使用しないパラメーターの既定値を指定して、指定されたパラメーターを持つインスタンスがリフレクトしたコンストラクターを呼び出します。
public:
virtual System::Object ^ Invoke(cli::array <System::Object ^> ^ parameters);
public:
System::Object ^ Invoke(cli::array <System::Object ^> ^ parameters);
public virtual object Invoke (object[] parameters);
public object Invoke (object?[]? parameters);
public object Invoke (object[] parameters);
override this.Invoke : obj[] -> obj
Public Overridable Function Invoke (parameters As Object()) As Object
Public Function Invoke (parameters As Object()) As Object
パラメーター
- parameters
- Object[]
(既定のバインダーの制約の下で) このコンストラクターのパラメーターの数、順序、および型に一致する値の配列。 このコンストラクターがパラメーターをとらない場合は、Object[] parameters = new Object[0] のように、要素がゼロ個の配列か null
を使用します。 この配列の中で、何らかの値で明示的に初期化されないオブジェクトには、そのオブジェクト型の既定値が格納されます。 参照型の要素の場合、この値は null
です。 値型の要素の場合、この値は、実際の要素の型に応じて、0、0.0、または false
となります。
戻り値
コンストラクターに関連付けられているクラスのインスタンス。
例外
コンストラクターが private または protected で、呼び出し元に MemberAccess が不足しています。
注: Windows ストア アプリまたはポータブル クラス ライブラリ用の .NET では、代わりに基本クラスの例外 MemberAccessExceptionである をキャッチします。
parameters
配列には、このコンストラクターが受け入れる型と一致する値が含まれていません。
呼び出されたコンストラクターが例外をスローします。
渡されたパラメーターの数が正しくありません。
TypedReference 型、ArgIterator 型、および RuntimeArgumentHandle 型の作成はサポートされません。
呼び出し元には、必要なコード アクセス許可がありません。
注釈
配列内 parameters
の要素の数、型、順序は、このインスタンスによって反映されるコンストラクターのパラメーターの数、型、順序と同じである必要があります。 コンストラクターを呼び出す前に、 Invoke
呼び出し元がアクセス許可を持っていることを確認し、パラメーターが有効であることを確認します。
完全に信頼されたコードでは、アクセス制限は無視されます。 つまり、プライベート コンストラクター、メソッド、フィールド、およびプロパティは、コードが完全に信頼されるたびにリフレクションを使用してアクセスおよび呼び出すことができます。
注意
インスタンス コンストラクターを持たない値型のインスタンスを作成するには、 メソッドを CreateInstance 使用します。
このメソッドは、既定値を使用して、次のオーバーロードされたバージョンの便利なメソッドです。 このメソッドはオーバーライドできません。
注意
.NET Framework 2.0 以降では、このメソッドを使用して、フラグを使用して呼び出し元が許可ReflectionPermissionReflectionPermissionFlag.RestrictedMemberAccessされている場合、および非パブリック メンバーの許可セットが呼び出し元の許可セットまたはそのサブセットに制限されている場合は、非パブリック メンバーにアクセスできます。 ( リフレクションのセキュリティに関する考慮事項に関するページを参照してください)。この機能を使用するには、アプリケーションで .NET Framework 3.5 以降をターゲットにする必要があります。
適用対象
Invoke(BindingFlags, Binder, Object[], CultureInfo)
派生クラスに実装された場合、指定されている ConstructorInfo
の制約下で、Binder
によってリフレクションされるコンストラクターを引数を指定して呼び出します。
public:
abstract System::Object ^ Invoke(System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ parameters, System::Globalization::CultureInfo ^ culture);
public abstract object Invoke (System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object?[]? parameters, System.Globalization.CultureInfo? culture);
public abstract object Invoke (System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
override this.Invoke : System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj
Public MustOverride Function Invoke (invokeAttr As BindingFlags, binder As Binder, parameters As Object(), culture As CultureInfo) As Object
パラメーター
- invokeAttr
- BindingFlags
バインディングの種類を指定する BindingFlags
値の 1 つ。
- binder
- Binder
プロパティのセットを定義し、バインディング、引数の型の強制変換、およびリフレクションを使用したメンバーの呼び出しの機能を有効にする Binder
。
binder
が null
の場合は、Binder.DefaultBinding
が使用されます。
- parameters
- Object[]
binder
の制約下で、コンストラクターのパラメーターの数、順序、および型と要素の数、順序、型を一致させるオブジェクト型の配列。Object
コンストラクターにパラメーターが必要ない場合は、Object[] parameters = new Object[0] のように、要素がゼロ個の配列を渡します。 この配列の中で、何らかの値で明示的に初期化されないオブジェクトには、そのオブジェクト型の既定値が格納されます。 参照型の要素の場合、この値は null
です。 値型の要素の場合、この値は、実際の要素の型に応じて、0、0.0、または false
となります。
- culture
- CultureInfo
型の強制変換を制御するために使用する CultureInfo。
null
の場合は、現在のスレッドの CultureInfo が使用されます。
戻り値
コンストラクターに関連付けられているクラスのインスタンス。
例外
parameters
配列には、binder
制約下で、このコンストラクターが受け入れる型と一致する値が含まれていません。
呼び出されたコンストラクターが例外をスローします。
渡されたパラメーターの数が正しくありません。
TypedReference 型、ArgIterator 型、および RuntimeArgumentHandle 型の作成はサポートされません。
呼び出し元に、必要なコード アクセス許可がありません。
コンストラクターが private または protected で、呼び出し元に MemberAccess が不足しています。
注釈
配列内 parameters
の要素の数、型、順序は、このインスタンスによって反映されるコンストラクターのパラメーターの数、型、順序と同じである必要があります。
コンストラクターを呼び出す前に、 Invoke
呼び出し元がアクセス許可を持ち、パラメーターが正しい番号、順序、型であることを確認します。
完全に信頼されたコードでは、アクセス制限は無視されます。 つまり、プライベート コンストラクター、メソッド、フィールド、およびプロパティは、コードが完全に信頼されるたびにリフレクションを使用してアクセスおよび呼び出すことができます。
注意
インスタンス コンストラクターを持たない値型のインスタンスを作成するには、 メソッドを CreateInstance 使用します。
注意
.NET Framework 2.0 以降では、このメソッドを使用して、フラグを使用して呼び出し元が許可ReflectionPermissionReflectionPermissionFlag.RestrictedMemberAccessされている場合、および非パブリック メンバーの許可セットが呼び出し元の許可セットまたはそのサブセットに制限されている場合は、非パブリック メンバーにアクセスできます。 ( リフレクションのセキュリティに関する考慮事項に関するページを参照してください)。この機能を使用するには、アプリケーションで .NET Framework 3.5 以降をターゲットにする必要があります。
こちらもご覧ください
適用対象
.NET