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);
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

初期化の結果。

戻り値

Boolean

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

注釈

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

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

適用対象