次の方法で共有


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) 場合 SampleType 、 は クラスから DynamicObject 派生した型であり、 args[0] は 100 と等しくなります。

result
Object

初期化の結果。

戻り値

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

注釈

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

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

適用対象