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);
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 nullsein, in diesem Fall wird ein Grundtypausdruck zurückgegeben.
Die SerializeToExpression Methode verwendet die folgenden Regeln für die Serialisierung von Typen:
Zunächst wird die GetExpression Methode aufgerufen, um zu sehen, ob ein Ausdruck bereits für das Objekt erstellt wurde. Wenn ja, gibt es den vorhandenen Ausdruck zurück.
Anschließend sucht er den Serializer des Objekts, und fordert es auf, sie zu serialisieren.
Wenn der Rückgabewert des Serializers des Objekts ein CodeExpressionist, wird der Ausdruck zurückgegeben.
Es macht einen letzten Aufruf, um zu GetExpression sehen, ob der Serializer einen Ausdruck hinzugefügt hat.
Schließlich gibt es zurück
null.
Wenn kein Ausdruck erstellt werden konnte und kein geeigneter Serializer gefunden werden konnte, wird ein Fehler über den Serialisierungs-Manager gemeldet. Es wird kein Fehler gemeldet, wenn ein Serializer gefunden wurde, aber es konnte keinen Ausdruck erstellen. In diesem Fall wird davon ausgegangen, dass der Serializer entweder bereits den Fehler gemeldet hat oder es nicht versucht hat, das Objekt zu serialisieren.
Wenn der Serializer eine Anweisung oder eine Auflistung von Anweisungen zurückgegeben hat, werden diese Anweisungen nicht verworfen. Die SerializeToExpression Methode sucht zunächst nach einem StatementContext Kontextstapel und fügt Anweisungen zur Eigenschaft des Anweisungskontextobjekts StatementCollection hinzu. Wenn kein Anweisungskontext vorhanden ist, sieht die SerializeToExpression Methode im Kontext nach einem CodeStatementCollection und fügen die Anweisungen dort hinzu. Wenn kein Ort gefunden werden kann, um die Anweisungen hinzuzufügen, wird ein Fehler generiert.
Hinweis
Sie sollten die SerializeToExpression Methode Serialize beim Serialisieren Ihres eigenen Objekts nicht aufrufen. Stattdessen sollten Sie aufrufen GetExpression. Wenn sie zurückgegeben nullwird, erstellen Sie Ihren eigenen Ausdruck und rufen Sie an SetExpression. Fahren Sie dann mit der restlichen Serialisierung fort.