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 是派生自 类的类型 DynamicObjectargs[0] 等于 100。

result
Object

初始化的结果。

返回

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

注解

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

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

适用于