次の方法で共有


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

指定したバインダの制約の下で、指定したオブジェクトでこのインスタンスが動的にリフレクションするコンストラクタを呼び出し、指定したパラメータを渡します。

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

パラメータ

  • invokeAttr
    BindingFlags のビット フラグ InvokeMethod、NonPublic などにする必要があります。
  • binder
    バインディング、引数型の強制変換、メンバの呼び出し、および、リフレクションを使用した MemberInfo オブジェクトの取得を有効にするオブジェクト。バインダが null 参照 (Visual Basic では Nothing) の場合は、既定のバインダが使用されます。 Binder のトピックを参照してください。
  • parameters
    引数リスト。これは、呼び出すコンストラクタのパラメータと同じ数、順序、および型の引数の配列です。パラメータがない場合は、 null 参照 (Visual Basic では Nothing) にします。
  • culture
    型の強制変換を制御するために使用する CultureInfo のインスタンス。null の場合は、現在のスレッドの CultureInfo が使用されます。たとえば、このパラメータでは、1000 を表す StringDouble 値に変換して指定する必要があります。これは、カルチャによって 1000 の表記が異なるためです。

戻り値

呼び出されたコンストラクタの戻り値を表す Object を返します。

例外

例外の種類 条件
NotSupportedException このメソッドは、現在サポートされていません。コンストラクタを取得するには、 GetConstructor を使用し、返された ConstructorInfo に対して Invoke を呼び出します。

解説

コンストラクタにパラメータがない場合、 parameters パラメータの値は null 参照 (Visual Basic では Nothing) です。それ以外の場合、 parameters 配列の要素の数、型、および順序は、このインスタンスがリフレクションするコンストラクタのパラメータの数、型、および順序と同一である必要があります。

たとえば、このインスタンスがリフレクションするコンストラクタが 2 つの文字列を受け取る公開クラスとして宣言されている場合、 parameters は長さが 2 の Object の配列です。

メモ   完全に信頼されたコードでは、アクセス制限は無視されます。コードが完全に信頼されていると、リフレクションを使用して、プライベートなコンストラクタ、メソッド、フィールド、およびプロパティにアクセスし、それらを呼び出すことができます。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

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