CodeDomSerializerBase.SerializeToExpression Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Serialiserar det angivna objektet till ett uttryck.
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
Parametrar
- manager
- IDesignerSerializationManager
Att IDesignerSerializationManager använda för serialisering.
- value
- Object
Objektet som ska serialiseras. Kan vara null.
Returer
Ett CodeExpression objekt om value kan serialiseras, annars . null
Undantag
manager är null.
Kommentarer
Parametern value kan vara null, i vilket fall ett primitivt uttryck returneras.
Metoden SerializeToExpression använder följande regler för serialiseringstyper:
Den anropar GetExpression först metoden för att se om ett uttryck redan har skapats för objektet. I så fall returneras det befintliga uttrycket.
Den letar sedan upp objektets serialiserare och ber den serialisera.
Om returvärdet för objektets serialiserare är en CodeExpressionreturneras uttrycket.
Det gör ett sista anrop för att GetExpression se om serialiseraren har lagt till ett uttryck.
Slutligen returnerar
nullden .
Om inget uttryck kunde skapas och det inte gick att hitta någon lämplig serialiserare rapporteras ett fel via serialiseringshanteraren. Inget fel rapporteras om en serialiserare hittades men det inte gick att skapa ett uttryck. I det här fallet antas det att serialiseraren antingen redan har rapporterat felet eller att den inte försökte serialisera objektet.
Om serialiseraren returnerade en instruktion eller en samling instruktioner ignoreras inte dessa instruktioner. Metoden SerializeToExpression söker först efter en StatementContext i kontextstacken och lägger till instruktioner i instruktionskontextobjektets StatementCollection egenskap. Om det inte finns någon instruktionskontext SerializeToExpression letar metoden i kontexten efter en CodeStatementCollection och lägger till -uttrycken där. Om det inte går att hitta någon plats för att lägga till uttrycken genereras ett fel.
Note
Du bör inte anropa SerializeToExpression metoden inom Serialize när du serialiserar ditt eget objekt. I stället bör du anropa GetExpression. Om den returnerar nullskapar du ett eget uttryck och anropar SetExpression. Fortsätt sedan med resten av serialiseringen.