Comparteix a través de


DynamicObject.TryCreateInstance Método

Definición

Proporciona la implementación de las operaciones que inicializan una nueva instancia de un objeto dinámico. Este método no está pensado para su uso en C# o 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

Parámetros

binder
CreateInstanceBinder

Proporciona información sobre la operación de inicialización.

args
Object[]

Argumentos que se pasan al objeto durante la inicialización. Por ejemplo, para la new SampleType(100) operación , donde SampleType es el tipo derivado de la DynamicObject clase , args[0] es igual a 100.

result
Object

Resultado de la inicialización.

Devoluciones

true si la operación es correcta; de lo contrario, false. Si este método devuelve false, el enlazador del lenguaje en tiempo de ejecución determina el comportamiento. (En la mayoría de los casos, se inicia una excepción específica del lenguaje en tiempo de ejecución).

Comentarios

Las clases derivadas de la DynamicObject clase pueden invalidar este método para especificar cómo se debe inicializar una nueva instancia del objeto dinámico. Cuando el método no se invalida, el enlazador en tiempo de ejecución del lenguaje determina el comportamiento. (En la mayoría de los casos, se inicia una excepción específica del lenguaje en tiempo de ejecución).

Los compiladores de C# y Visual Basic nunca emiten código para usar este método porque no admiten tipos de primera clase. Este método está pensado para lenguajes que admiten la inicialización de objetos dinámicos mediante la sintaxis como dynamic new.

Se aplica a