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