DynamicObject.TryCreateInstance Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece a implementação para operações que inicializam uma nova instância de um objeto dinâmico. Esse método não se destina ao uso em C# ou 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
Fornece informações sobre a operação de inicialização.
- args
- Object[]
Os argumentos que são passados ao objeto durante inicialização. Por exemplo, para a new SampleType(100)
operação, em que SampleType
é o tipo derivado da DynamicObject classe , args[0]
é igual a 100.
- result
- Object
O resultado da inicialização.
Retornos
true
se a operação for bem-sucedida; caso contrário, false
. Se esse método retornar false
, o associador de tempo de execução da linguagem determinará o comportamento. (Na maioria dos casos, uma exceção de tempo de execução específica a um idioma é gerada.)
Comentários
Classes derivadas da DynamicObject classe podem substituir esse método para especificar como uma nova instância do objeto dinâmico deve ser inicializada. Quando o método não é substituído, o associador de tempo de execução do idioma determina o comportamento. (Na maioria dos casos, uma exceção de tempo de execução específica a um idioma é gerada.)
Os compiladores C# e Visual Basic nunca emitem código para usar esse método porque não dão suporte a tipos de primeira classe. Esse método destina-se a linguagens que dão suporte à inicialização de objetos dinâmicos usando a sintaxe como dynamic new
.