CodeDomSerializerBase.SerializeToExpression Metódus

Definíció

Az adott objektumot kifejezéssé szerializálja.

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

Paraméterek

manager
IDesignerSerializationManager

A IDesignerSerializationManager szerializáláshoz használandó.

value
Object

A szerializálandó objektum. Lehet null.

Válaszok

Egy CodeExpression objektum, ha value szerializálható; nullellenkező esetben.

Kivételek

manager az null.

Megjegyzések

A value paraméter lehet null, ebben az esetben egy primitív kifejezés lesz visszaadva.

A SerializeToExpression metódus a következő szabályokat használja a szerializálási típusokhoz:

  1. Először meghívja a GetExpression metódust annak megtekintéséhez, hogy már létrejött-e kifejezés az objektumhoz. Ha igen, akkor a meglévő kifejezést adja vissza.

  2. Ezután megkeresi az objektum szerializálóját, és megkéri, hogy szerializálja.

  3. Ha az objektum szerializálójának visszatérési értéke egy CodeExpression, a kifejezés lesz visszaadva.

  4. Egy utolsó hívást indít annak megtekintéséhez, hogy GetExpression a szerializáló hozzáadott-e kifejezést.

  5. Végül visszatér null.

Ha nem hozható létre kifejezés, és nem található megfelelő szerializáló, a szerializálási kezelőn keresztül hibaüzenet jelenik meg. Nem jelenik meg hiba, ha szerializálót talált, de nem tudott kifejezést létrehozni. Ebben az esetben feltételezzük, hogy a szerializáló vagy már jelentette a hibát, vagy nem próbálta szerializálni az objektumot.

Ha a szerializáló utasítást vagy utasításgyűjteményt adott vissza, a rendszer nem veti el ezeket az állításokat. A SerializeToExpression metódus először megkeresi StatementContext a környezeti vermet, és utasításokat ad hozzá az utasítás környezeti objektumának tulajdonságához StatementCollection . Ha nincs utasításkörnyezet, a SerializeToExpression metódus megkeresi a kontextust CodeStatementCollection , és ott adja hozzá az utasításokat. Ha nem található hely az utasítások hozzáadásához, hibaüzenet jelenik meg.

Note

Ne hívja meg a metódust SerializeToExpression a Serialize saját objektum szerializálása során. Ehelyett fel kell hívnia a .. parancsot GetExpression. Ha visszaadja null, hozzon létre egy saját kifejezést, és hívja meg SetExpression. Ezután folytassa a szerializálás többi részével.

A következőre érvényes:

Lásd még