指定されているパラメータを持つインスタンスがリフレクションするコンストラクタを呼び出します。一般的には使用されないパラメータには既定値が設定されます。
Overloads Public Function Invoke( _
ByVal parameters() As Object _) As Object
[C#]
public object Invoke(object[] parameters);
[C++]
public: Object* Invoke(Object* parameters __gc[]);
[JScript]
public function Invoke(
parameters : Object[]) : Object;
パラメータ
- parameters
既定のバインダの制約下で、このコンストラクタのパラメータの数、順序、および型と一致する値の配列。このコンストラクタがパラメータをとらない場合は、Object[] parameters = new Object[0] のように、要素がゼロ個の配列か null 参照 (Visual Basic では Nothing) を使用します。この配列の中で、何らかの値で明示的に初期化されないオブジェクトには、そのオブジェクト型の既定値が格納されます。参照型の要素の場合、この値は null 参照 (Nothing) です。値型の要素の場合、この値は、実際の要素の型に応じて、0、0.0、または false となります。
戻り値
コンストラクタに関連付けられているクラスのインスタンス。
例外
| 例外の種類 | 条件 |
|---|---|
| MethodAccessException | コンストラクタにアクセスできません。クラスが抽象クラスである可能性があります。または、メソッドがクラス初期化子です。
または 呼び出し元に、このコンストラクタを実行するためのアクセス許可がありません。 |
| ArgumentException | parameters 配列には、このコンストラクタが受け入れる型と一致する値が含まれていません。 |
| TargetInvocationException | 呼び出されたコンストラクタが例外をスローしました。 |
| TargetParameterCountException | 渡されたパラメータの数が正しくありません。 |
解説
parameters 配列の要素の数、型、および順序は、このインスタンスがリフレクションするコンストラクタのパラメータの数、型、および順序と同一であることが必要です。Invoke メソッドは、コンストラクタを呼び出す前に、呼び出し元に必要なアクセス許可があることを確認し、パラメータが有効かどうかを検査します。
完全に信頼されたコードでは、アクセス制限は無視されます。コードが完全に信頼されていれば、リフレクションを使用して、プライベートなコンストラクタ、メソッド、フィールド、およびプロパティにアクセスし、それらを呼び出すことができます。
このメソッドは、以降で説明するオーバーロードされたバージョンの基となる便利なメソッドで、既定値を使用します。このメソッドはオーバーライドできません。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard
.NET Framework セキュリティ:
- ReflectionPermission (Type.InvokeMember などの機構を通じて遅延バインディングで呼び出すときに必要なアクセス許可) ReflectionPermissionFlag.MemberAccess (関連する列挙体)
- ReflectionPermission (非パブリック オブジェクトをリフレクション操作するために必要なアクセス許可) ReflectionPermissionFlag.MemberAccess (関連する列挙体)
参照
ConstructorInfo クラス | ConstructorInfo メンバ | System.Reflection 名前空間 | ConstructorInfo.Invoke オーバーロードの一覧