TypeCodeDomSerializer.Serialize Metodo

Definizione

Serializza la radice dell'oggetto creando una nuova dichiarazione di tipo che definisce la radice.

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);
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 di serializzazione da utilizzare per la serializzazione.

root
Object

Oggetto da serializzare.

members
ICollection

Raccolta facoltativa di membri. Può essere null o vuoto.

Valori restituiti

Oggetto CodeTypeDeclaration che definisce l'oggetto radice.

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 serializzare 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.

Nella tabella seguente vengono illustrate 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 illustra tutti i membri e chiama SerializeToExpression. Poiché la serializzazione viene eseguita opportunisticamente 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. Infine, viene 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.

Instance Descrizione
TypeCodeDomSerializer Questo 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