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

初始化的结果。

返回

Boolean

如果操作成功,则为 true;否则为 false。 如果此方法返回 false,则该语言的运行时联编程序将决定行为。 (大多数情况下,将引发语言特定的运行时异常。)

注解

DynamicObject 类派生的类可以重写此方法,以指定应如何初始化动态对象的新实例。 如果未重写该方法,则语言的运行时绑定器将确定行为。 (大多数情况下,将引发语言特定的运行时异常。)

C# 和Visual Basic编译器永远不会发出代码来使用此方法,因为它们不支持一流的类型。 此方法适用于支持使用类似 dynamic new语法初始化动态对象的语言。

适用于