TypeCodeDomSerializer.Serialize Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Serializza l'elemento di primo livello dell'oggetto creando una nuova dichiarazione del tipo che definisce un elemento di primo livello.
public:
virtual System::CodeDom::CodeTypeDeclaration ^ Serialize(System::ComponentModel::Design::Serialization::IDesignerSerializationManager ^ manager, System::Object ^ root, System::Collections::ICollection ^ members);
public virtual System.CodeDom.CodeTypeDeclaration Serialize (System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, object root, System.Collections.ICollection members);
public virtual System.CodeDom.CodeTypeDeclaration Serialize (System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, object root, System.Collections.ICollection? members);
abstract member Serialize : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * obj * System.Collections.ICollection -> System.CodeDom.CodeTypeDeclaration
override this.Serialize : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * obj * System.Collections.ICollection -> System.CodeDom.CodeTypeDeclaration
Public Overridable Function Serialize (manager As IDesignerSerializationManager, root As Object, members As ICollection) As CodeTypeDeclaration
Parametri
- manager
- IDesignerSerializationManager
Gestore della serializzazione da utilizzare per la serializzazione.
- root
- Object
Oggetto da serializzare.
- members
- ICollection
Insieme facoltativo di membri. Può essere null
o vuoto.
Restituisce
Classe CodeTypeDeclaration che definisce l'oggetto di primo livello.
Eccezioni
manager
o root
è null
.
Commenti
Il Serialize metodo serializza l'oggetto radice specificato e la raccolta facoltativa di membri per creare una nuova definizione di tipo. Se la members
raccolta contiene valori, questi valori vengono serializzati. I valori stessi possono essere serializzati come variabili membro o variabili locali. Questa determinazione viene eseguita cercando una proprietà extender nell'oggetto denominato GenerateMember
. Se true
, viene generato un membro. In caso contrario, viene generata una variabile locale. Per praticità, la members
raccolta può contenere l'oggetto radice. In questo caso, l'oggetto radice non viene aggiunto anche come membro o variabile locale.
Il nome del tipo restituito viene ricavato dal nome dell'oggetto radice, se si tratta di un oggetto denominato. In caso contrario, viene creato un nome dal nome di tipo semplice della classe radice.
La tabella seguente illustra le attività eseguite dall'implementazione predefinita del Serialize metodo .
Attività | Descrizione |
---|---|
Seeding del contesto | Il contesto di serializzazione viene inizializzato con i dati inclusi e RootContextCodeTypeDeclaration |
Serializzazione dei membri | Successivamente, Serialize analizza tutti i membri e chiama SerializeToExpression. Poiché la serializzazione viene eseguita in modo opportunistico in SerializeToExpression, ciò garantisce che la serializzazione non venga eseguita due volte. |
Serializzazione radice | Successivamente, l'oggetto radice viene serializzato e le relative istruzioni vengono aggiunte alla raccolta di istruzioni. |
Integrazione delle istruzioni | Dopo la serializzazione di tutti gli oggetti, il Serialize metodo ordina le istruzioni e le aggiunge a un metodo restituito da GetInitializeMethod. Viene infine creato un costruttore che chiama tutti i metodi restituiti da GetInitializeMethod. |
-
Nella tabella seguente vengono illustrati gli oggetti che il Serialize metodo inserisce nello stack di contesto.
Istanza | Descrizione |
---|---|
TypeCodeDomSerializer | Serializzatore. La derivazione delle classi può risultare utile per aggiungere proprietà pubbliche a questa classe. |
CodeTypeDeclaration | Tipo da creare. La maggior parte degli oggetti non necessita dell'accesso diretto a questo oggetto. |