DynamicObject.TryCreateInstance Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt die Implementierung für Vorgänge bereit, die eine neue Instanz eines dynamischen Objekts initialisieren. Diese Methode ist nicht zur Verwendung in C# oder Visual Basic vorgesehen.
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
Parameter
- binder
- CreateInstanceBinder
Stellt Informationen zum Initialisierungsvorgang bereit.
- args
- Object[]
Die Argumente, die während der Initialisierung an das Objekt übergeben werden. Für den new SampleType(100)
Vorgang, bei dem SampleType
der von der DynamicObject -Klasse abgeleitete Typ ist, args[0]
ist beispielsweise gleich 100.
- result
- Object
Das Ergebnis der Initialisierung.
Gibt zurück
true
, wenn der Vorgang erfolgreich ist, andernfalls false
. Wenn die Methode false
zurückgibt, wird das Verhalten vom Laufzeitbinder der Sprache bestimmt. (In den meisten Fällen wird eine sprachspezifische Laufzeitausnahme ausgelöst.)
Hinweise
Von der DynamicObject -Klasse abgeleitete Klassen können diese Methode überschreiben, um anzugeben, wie eine neue instance des dynamischen Objekts initialisiert werden soll. Wenn die Methode nicht überschrieben wird, bestimmt der Laufzeitbinder der Sprache das Verhalten. (In den meisten Fällen wird eine sprachspezifische Laufzeitausnahme ausgelöst.)
C#- und Visual Basic-Compiler geben nie Code aus, um diese Methode zu verwenden, da sie keine erstklassigen Typen unterstützen. Diese Methode ist für Sprachen vorgesehen, die die Initialisierung dynamischer Objekte mithilfe von Syntax wie dynamic new
unterstützen.