DynamicObject.TryCreateInstance メソッド

定義

動的オブジェクトの新しいインスタンスを初期化する操作の実装を提供します。 このメソッドは、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) 操作の場合、 SampleTypeDynamicObject クラスから派生した型であり、 args[0] は 100 になります。

result
Object

初期化の結果。

返品

操作が正常に終了した場合は true。それ以外の場合は false。 このメソッドが falseを返す場合、言語のランタイム バインダーによって動作が決定されます。 (ほとんどの場合、言語固有のランタイム例外がスローされます)。

注釈

DynamicObject クラスから派生したクラスは、このメソッドをオーバーライドして、動的オブジェクトの新しいインスタンスを初期化する方法を指定できます。 メソッドがオーバーライドされない場合、言語のランタイム バインダーによって動作が決まります。 (ほとんどの場合、言語固有のランタイム例外がスローされます)。

C# および Visual Basic コンパイラは、ファースト クラス型をサポートしていないため、このメソッドを使用するコードを出力しません。 このメソッドは、 dynamic newなどの構文を使用して動的オブジェクトの初期化をサポートする言語を対象としています。

適用対象