Udostępnij za pośrednictwem


TypeCodeDomSerializer.Deserialize Metoda

Definicja

Deserializuje daną deklarację typu.

public:
 virtual System::Object ^ Deserialize(System::ComponentModel::Design::Serialization::IDesignerSerializationManager ^ manager, System::CodeDom::CodeTypeDeclaration ^ declaration);
public virtual object Deserialize (System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, System.CodeDom.CodeTypeDeclaration declaration);
abstract member Deserialize : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * System.CodeDom.CodeTypeDeclaration -> obj
override this.Deserialize : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * System.CodeDom.CodeTypeDeclaration -> obj
Public Overridable Function Deserialize (manager As IDesignerSerializationManager, declaration As CodeTypeDeclaration) As Object

Parametry

manager
IDesignerSerializationManager

Menedżer serializacji do użycia do serializacji.

declaration
CodeTypeDeclaration

Deklaracja typu, która ma być używana do serializacji.

Zwraca

Obiekt główny.

Wyjątki

manager lub typeDecl ma wartość null.

Uwagi

Metoda Deserialize deserializuje wcześniej serializowaną deklarację typu kodu. W poniższej tabeli przedstawiono zadania, które wykonuje domyślna implementacja.

Zadanie Opis
Sprawdzanie poufności spraw Implementacja wyszukuje usługę CodeDomProvider , aby zdecydować, czy powinna traktować elementy członkowskie jako uwzględniane wielkości liter lub bez uwzględniania wielkości liter.
Sortowanie instrukcji Wszystkie zmienne składowe i zmienne lokalne z metod inicjowania są przechowywane w tabeli. Następnie każda instrukcja w metodzie init jest dodawana do kolekcji instrukcji pogrupowanej według lewej strony, więc wszystkie instrukcje przypisywane lub działające na określonej zmiennej są grupowane w ramach tej zmiennej. Zmienne, które nie mają instrukcji, są odrzucane.
Deserializacji Kolekcje instrukcji dla każdej zmiennej są deserializowane zgodnie ze zmienną .

W poniższej tabeli przedstawiono usługi wymagane przez metodę Deserialize .

Usługa Opis
CodeDomProvider Chociaż nie jest to absolutnie konieczne, usługa, jeśli jest dostępna, jest używana do określenia, czy serializacja powinna mieć wielkość liter, czy nie uwzględnia wielkości liter.
IContainer Jeśli obiekt nie istnieje w tabeli nazw podczas deserializacji, tworzone jest zapytanie dotyczące IContainer . Jeśli to zapytanie powiedzie się, kontener zostanie sprawdzony pod kątem obiektu. Kontener jest również używany jako stand-in dla każdego argumentu kontenera wymaganego przez składniki.

Dotyczy

Zobacz też