Condividi tramite


TypeCodeDomSerializer.Serialize Metodo

Definizione

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.

Si applica a

Vedi anche