次の方法で共有


ConstructorInfo.Invoke メソッド (BindingFlags, Binder, Object , CultureInfo)

派生クラスに実装された場合、指定されている Binder の制約下で、 ConstructorInfo によってリフレクションされるコンストラクタを引数を指定して呼び出します。

Overloads Public MustOverride Function Invoke( _
   ByVal invokeAttr As BindingFlags, _   ByVal binder As Binder, _   ByVal parameters() As Object, _   ByVal culture As CultureInfo _) As Object
[C#]
public abstract object Invoke(BindingFlagsinvokeAttr,Binderbinder,object[] parameters,CultureInfoculture);
[C++]
public: virtual Object* Invoke(BindingFlagsinvokeAttr,Binder* binder,Object* parameters __gc[],CultureInfo* culture) = 0;
[JScript]
public abstract function Invoke(
   invokeAttr : BindingFlags,binder : Binder,parameters : Object[],culture : CultureInfo) : Object;

パラメータ

  • invokeAttr
    バインディングの種類を指定する BindingFlags 値の 1 つ。
  • binder
    一連のプロパティを定義し、バインディング、引数の型の強制変換、およびリフレクションによるメンバの呼び出しを実行できるようにするバインダ。 binder が null 参照 (Visual Basic では Nothing) の場合は、 Binder.DefaultBinding が使用されます。
  • parameters
    binder の制約下で、コンストラクタのパラメータの数、順序、および型と要素の数、順序、型を一致させるオブジェクト型の配列。コンストラクタにパラメータが必要ない場合は、Object[] parameters = new Object[0] のように、要素がゼロ個の配列を渡します。この配列の中で、何らかの値で明示的に初期化されないオブジェクトには、そのオブジェクト型の既定値が格納されます。参照型の要素の場合、この値は null 参照 (Visual Basic では Nothing) です。値型の要素の場合、この値は、実際の要素の型に応じて、0、0.0、または false となります。
  • culture
    型の強制変換を制御するために使用する CultureInfo 。 null 参照 (Visual Basic では Nothing) の場合は、現在のスレッドの CultureInfo が使用されます。

戻り値

コンストラクタに関連付けられているクラスのインスタンス。

例外

例外の種類 条件
MethodAccessException コンストラクタにアクセスできません。クラスが抽象クラスである可能性があります。または、メソッドがクラス初期化子です。

または

呼び出し元に、このコンストラクタを実行するためのアクセス許可がありません。

ArgumentException parameters 配列には、binder 制約下で、このコンストラクタが受け入れる型と一致する値が含まれていません。
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 セキュリティ:

参照

ConstructorInfo クラス | ConstructorInfo メンバ | System.Reflection 名前空間 | ConstructorInfo.Invoke オーバーロードの一覧 | Binder | BindingFlags