CodeDomSerializerBase.SerializeToExpression Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Serializuje daný objekt do výrazu.
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
Parametry
- manager
- IDesignerSerializationManager
Chcete-li IDesignerSerializationManager použít pro serializaci.
- value
- Object
Objekt serializovat. Může být null
.
Návraty
ObjektCodeExpression, pokud value
lze serializovat; v opačném případě . null
Výjimky
manager
je null
.
Poznámky
Parametr value
může být null
, v takovém případě se vrátí primitivní výraz.
Metoda SerializeToExpression používá následující pravidla pro serializaci typů:
Nejprve zavolá metodu GetExpression , aby se zjistilo, jestli už byl pro objekt vytvořen výraz. Pokud ano, vrátí existující výraz.
Pak vyhledá serializátor objektu a požádá ho o serializaci.
Pokud je návratová hodnota serializátoru objektu CodeExpression, vrátí se výraz.
Provede poslední volání, aby GetExpression se zjistilo, jestli serializátor přidal výraz.
Nakonec vrátí
null
.
Pokud nelze vytvořit žádný výraz a nebyl nalezen vhodný serializátor, bude prostřednictvím správce serializace nahlášena chyba. Pokud byl nalezen serializátor, ale nepodařilo se mu vytvořit výraz, nebude hlášena žádná chyba. V tomto případě se předpokládá, že serializátor již ohlásil chybu, nebo se nepokusil serializovat objekt.
Pokud serializátor vrátil příkaz nebo kolekci příkazů, nebudou tyto příkazy zahozeny. Metoda SerializeToExpression nejprve vyhledá objekt StatementContext v zásobníku kontextu a přidá příkazy do vlastnosti objektu StatementCollection kontextu příkazu. Pokud neexistuje žádný kontext příkazu, SerializeToExpression metoda vyhledá v kontextu CodeStatementCollection a přidá do ní příkazy. Pokud nenajdete místo pro přidání příkazů, vygeneruje se chyba.
Poznámka
Při serializaci vlastního objektu byste neměli SerializeToExpression volat metodu v rámci Serialize . Místo toho byste měli zavolat GetExpression. Pokud vrátí null
, vytvořte vlastní výraz a zavolejte SetExpression. Pak pokračujte ve zbývající části serializace.