다음을 통해 공유


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 는 클래스 args[0] 에서 DynamicObject 파생된 형식이 100과 같습니다.

result
Object

초기화의 결과입니다.

반환

작업에 성공하면 true이고, 그렇지 않으면 false입니다. 이 메서드가 false를 반환하는 경우 언어의 런타임 바인더에 따라 동작이 결정됩니다. 대부분의 경우 언어별 런타임 예외가 throw됩니다.

설명

클래스에서 파생된 클래스는 이 메서드를 DynamicObject 재정의하여 동적 개체의 새 instance 초기화하는 방법을 지정할 수 있습니다. 메서드를 재정의하지 않으면 언어의 런타임 바인더가 동작을 결정합니다. 대부분의 경우 언어별 런타임 예외가 throw됩니다.

C# 및 Visual Basic 컴파일러에서는 일류 형식을 지원하지 않으므로 이 메서드를 사용하기 위해 코드를 내보내지 않습니다. 이 메서드는 와 같은 dynamic new구문을 사용하여 동적 개체의 초기화를 지원하는 언어를 위한 것입니다.

적용 대상