TypeCodeDomSerializer.Serialize Метод

Определение

Сериализует корневую папку объекта, создав новое объявление типа, определяющее корневой каталог.

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

Параметры

manager
IDesignerSerializationManager

Диспетчер сериализации, используемый для сериализации.

root
Object

Объект для сериализации.

members
ICollection

Необязательная коллекция элементов. Может быть null или пустым.

Возвращаемое значение

Объект, CodeTypeDeclaration определяющий корневой объект.

Исключения

manager или root есть null.

Комментарии

Метод Serialize сериализует заданный корневой объект и необязательную коллекцию элементов для создания определения нового типа. members Если коллекция содержит значения, эти значения сериализуются. Сами значения могут сериализоваться как переменные-члены или локальные переменные. Это определение выполняется путем поиска свойства расширения для вызываемого GenerateMemberобъекта. Если trueсоздается элемент. В противном случае создается локальная переменная. Для удобства members коллекция может содержать корневой объект. В этом случае корневой объект также не добавляется в качестве члена или локальной переменной.

Имя возвращаемого типа берется из имени корневого объекта, если он был именованным объектом. В противном случае имя создается из простого имени типа корневого класса.

В следующей таблице показаны задачи, выполняемые по умолчанию реализацией Serialize метода.

задачи Description
Начальное значение контекста Контекст сериализации инициализирован с данными, включая RootContext и CodeTypeDeclaration
Сериализация элементов Serialize Далее пошаговые инструкции по всем членам и вызовамSerializeToExpression. Так как сериализация выполняется оппортунистически SerializeToExpression, это гарантирует, что сериализация не выполняется дважды.
Корневая сериализация Затем корневой объект сериализуется, а его операторы добавляются в коллекцию инструкций.
Интеграция инструкций После сериализации всех объектов метод упорядочивает Serialize операторы и добавляет их в метод, возвращенный из GetInitializeMethod. Наконец, конструктор создается, который вызывает все методы, возвращаемые из GetInitializeMethod.

-

В следующей таблице показаны объекты Serialize , которые метод помещает в стек контекста.

Instance Description
TypeCodeDomSerializer Этот сериализатор. Производные классы могут оказаться полезными для добавления общедоступных свойств в этот класс.
CodeTypeDeclaration Созданный тип. Большинству объектов не требуется прямой доступ к этому.

Применяется к

См. также раздел