DynamicObject.TryCreateInstance メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
動的オブジェクトの新しいインスタンスを初期化する操作の実装を提供します。 このメソッドは、C# または Visual Basic での使用を意図していません。
public:
virtual bool TryCreateInstance(System::Dynamic::CreateInstanceBinder ^ binder, cli::array <System::Object ^> ^ args, [Runtime::InteropServices::Out] System::Object ^ % result);
public virtual bool TryCreateInstance(System.Dynamic.CreateInstanceBinder binder, object[] args, out object result);
abstract member TryCreateInstance : System.Dynamic.CreateInstanceBinder * obj[] * obj -> bool
override this.TryCreateInstance : System.Dynamic.CreateInstanceBinder * obj[] * obj -> bool
Public Overridable Function TryCreateInstance (binder As CreateInstanceBinder, args As Object(), ByRef result As Object) As Boolean
パラメーター
- binder
- CreateInstanceBinder
初期化操作に関する情報を提供します。
- args
- Object[]
初期化中にオブジェクトに渡される引数。 たとえば、 new SampleType(100) 操作の場合、 SampleType は DynamicObject クラスから派生した型であり、 args[0] は 100 になります。
- result
- Object
初期化の結果。
返品
操作が正常に終了した場合は true。それ以外の場合は false。 このメソッドが falseを返す場合、言語のランタイム バインダーによって動作が決定されます。 (ほとんどの場合、言語固有のランタイム例外がスローされます)。
注釈
DynamicObject クラスから派生したクラスは、このメソッドをオーバーライドして、動的オブジェクトの新しいインスタンスを初期化する方法を指定できます。 メソッドがオーバーライドされない場合、言語のランタイム バインダーによって動作が決まります。 (ほとんどの場合、言語固有のランタイム例外がスローされます)。
C# および Visual Basic コンパイラは、ファースト クラス型をサポートしていないため、このメソッドを使用するコードを出力しません。 このメソッドは、 dynamic newなどの構文を使用して動的オブジェクトの初期化をサポートする言語を対象としています。