CodeDomSerializerBase.SerializeToExpression 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.
Serialisiert das angegebene Objekt in einen Ausdruck.
protected:
System::CodeDom::CodeExpression ^ SerializeToExpression(System::ComponentModel::Design::Serialization::IDesignerSerializationManager ^ manager, System::Object ^ value);
protected System.CodeDom.CodeExpression SerializeToExpression(System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, object value);
protected System.CodeDom.CodeExpression? SerializeToExpression(System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, object? value);
member this.SerializeToExpression : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * obj -> System.CodeDom.CodeExpression
Protected Function SerializeToExpression (manager As IDesignerSerializationManager, value As Object) As CodeExpression
Parameter
- manager
- IDesignerSerializationManager
Der IDesignerSerializationManager für die Serialisierung zu verwendende Code.
- value
- Object
Das zu serialisierende Objekt. Kann null sein.
Gibt zurück
Ein CodeExpression Objekt, wenn value serialisiert werden kann; andernfalls null.
Ausnahmen
manager ist null.
Hinweise
Der value Parameter kann sein null, in diesem Fall wird ein primitiver Ausdruck zurückgegeben.
Die SerializeToExpression Methode verwendet die folgenden Regeln für die Serialisierung von Typen:
Zuerst wird die GetExpression Methode aufgerufen, um festzustellen, ob bereits ein Ausdruck für das Objekt erstellt wurde. Wenn ja, wird der vorhandene Ausdruck zurückgegeben.
Anschließend wird der Serialisierer des Objekts gesucht, und es wird aufgefordert, die Serialisierung zu serialisieren.
Wenn der Rückgabewert des Serialisierers des Objekts ein CodeExpressionist, wird der Ausdruck zurückgegeben.
Es führt einen letzten Aufruf aus, um festzustellen GetExpression , ob der Serialisierer einen Ausdruck hinzugefügt hat.
Schließlich wird es zurückgegeben
null.
Wenn kein Ausdruck erstellt werden konnte und kein geeigneter Serialisierer gefunden werden konnte, wird ein Fehler über den Serialisierungs-Manager gemeldet. Es wird kein Fehler gemeldet, wenn ein Serialisierer gefunden wurde, aber kein Ausdruck erzeugt wurde. In diesem Fall wird davon ausgegangen, dass der Serialisierer entweder bereits den Fehler gemeldet hat oder nicht versucht hat, das Objekt zu serialisieren.
Wenn der Serialisierer eine Anweisung oder eine Sammlung von Anweisungen zurückgegeben hat, werden diese Anweisungen nicht verworfen. Die SerializeToExpression Methode sucht zunächst nach einem StatementContext im Kontextstapel und fügt anweisungen zur Eigenschaft des Anweisungskontextobjekts StatementCollection hinzu. Wenn kein Anweisungskontext vorhanden ist, sucht die SerializeToExpression Methode im Kontext nach einer CodeStatementCollection und fügt dort die Anweisungen hinzu. Wenn keine Stelle zum Hinzufügen der Anweisungen gefunden werden kann, wird ein Fehler generiert.
Hinweis
Sie sollten die SerializeToExpression Methode nicht aufrufen Serialize , wenn Sie Ihr eigenes Objekt serialisieren. Stattdessen sollten Sie anrufen GetExpression. Wenn sie zurückgegeben wird null, erstellen Sie Ihren eigenen Ausdruck und rufen Sie auf SetExpression. Fahren Sie dann mit der restlichen Serialisierung fort.