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
Die für die Serialisierung zu verwendende IDesignerSerializationManager.
- 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 zum Serialisieren von Typen:
Sie ruft zuerst die GetExpression -Methode auf, um festzustellen, ob bereits ein Ausdruck für das -Objekt erstellt wurde. Wenn ja, wird der vorhandene Ausdruck zurückgegeben.
Anschließend wird das Serialisierer des Objekts gesucht und zum Serialisieren aufgefordert.
Wenn der Rückgabewert des Serialisierungsprogramms des Objekts ein CodeExpressionist, wird der Ausdruck zurückgegeben.
Sie führt einen letzten Aufruf aus, um festzustellen GetExpression , ob der Serialisierer einen Ausdruck hinzugefügt hat.
Schließlich wird zurückgegeben
null
.
Wenn kein Ausdruck erstellt und kein geeignetes 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 werden konnte. In diesem Fall wird davon ausgegangen, dass der Serialisierer den Fehler entweder bereits gemeldet hat oder nicht versucht hat, das Objekt zu serialisieren.
Wenn der Serialisierer eine -Anweisung oder eine Auflistung von Anweisungen zurückgegeben hat, werden diese Anweisungen nicht verworfen. Die SerializeToExpression -Methode sucht zuerst nach einem StatementContext im Kontextstapel und fügt der -Eigenschaft des Anweisungskontextobjekts StatementCollection Anweisungen hinzu. Wenn kein Anweisungskontext vorhanden ist, sucht die SerializeToExpression Methode im Kontext nach einem CodeStatementCollection und fügt die Anweisungen dort hinzu. Wenn kein Ort zum Hinzufügen der Anweisungen gefunden werden kann, wird ein Fehler generiert.
Hinweis
Sie sollten die SerializeToExpression -Methode nicht in Serialize aufrufen, wenn Sie Ihr eigenes Objekt serialisieren. Rufen Sie stattdessen auf GetExpression. Wenn er zurückgibt null
, erstellen Sie Ihren eigenen Ausdruck, und rufen Sie auf SetExpression. Fahren Sie dann mit dem Rest Ihrer Serialisierung fort.