Condividi tramite


DynamicObject.TryCreateInstance Metodo

Definizione

Fornisce l'implementazione per le operazioni che creano una nuova istanza di un oggetto dinamico. Questo metodo non può essere utilizzato in C# o in 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

Parametri

binder
CreateInstanceBinder

Fornisce informazioni sull'operazione di inizializzazione.

args
Object[]

Argomenti passati all'oggetto durante l'inizializzazione. Ad esempio, per l'operazione new SampleType(100) , dove SampleType è il tipo derivato dalla DynamicObject classe , args[0] è uguale a 100.

result
Object

Risultato dell'inizializzazione.

Restituisce

true se l'operazione riesce; in caso contrario, false. Se questo metodo restituisce false, il comportamento viene determinato dal gestore di associazione di runtime del linguaggio. Nella maggior parte dei casi viene generata un'eccezione di runtime specifica del linguaggio.

Commenti

Le classi derivate dalla classe possono eseguire l'override DynamicObject di questo metodo per specificare la modalità di inizializzazione di una nuova istanza dell'oggetto dinamico. Quando il metodo non viene sottoposto a override, il binder di runtime del linguaggio determina il comportamento. Nella maggior parte dei casi viene generata un'eccezione di runtime specifica del linguaggio.

I compilatori C# e Visual Basic non generano mai codice per l'uso di questo metodo perché non supportano tipi di prima classe. Questo metodo è destinato ai linguaggi che supportano l'inizializzazione di oggetti dinamici usando la sintassi come dynamic new.

Si applica a