TypeCodeDomSerializer.Serialize 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
루트를 정의하는 새로운 형식 선언을 만들어 개체 루트를 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
serialization에 사용할 serialization 관리자입니다.
- root
- Object
serialize할 개체입니다.
- members
- ICollection
멤버의 선택적 컬렉션입니다. null
이거나 비어 있을 수 있습니다.
반환
루트 개체를 정의하는 CodeTypeDeclaration입니다.
예외
manager
또는 root
가 null
인 경우
설명
Serialize 메서드는 지정 된 루트 개체와 새 형식 정의를 만들려면 멤버의 선택적 컬렉션을 serialize 합니다. 경우는 members
값을 포함 하는 컬렉션, 이러한 값은 직렬화 됩니다. 값 자체 멤버 변수 또는 지역 변수도 serialize 될 수 있습니다. 호출 된 개체에 확장 속성을 검색 하 여이 결정이 이루어집니다 GenerateMember
합니다. 경우 true
, 멤버 생성 됩니다. 그렇지 않은 경우 로컬 변수 생성 됩니다. 편의 위해는 members
컬렉션 루트 개체를 포함할 수 있습니다. 이 경우 루트 개체 멤버 또는 로컬 변수로 추가 되지 않습니다.
명명 된 개체를 마치는 반환 된 형식의 이름은 루트 개체의 이름에서 가져옵니다. 그렇지 않은 경우 이름을 루트 클래스의 단순 형식 이름에서 만들어집니다.
다음 표에서 기본 구현에 의해 수행 되는 작업은 Serialize 메서드.
작업 | 설명 |
---|---|
상황에 맞는 시드 | 포함 하 여 데이터와 serialization 컨텍스트가 초기화 된 RootContext 및 CodeTypeDeclaration |
멤버 직렬화 | 그런 다음, Serialize 의 모든 멤버 및 호출에서는 SerializeToExpression합니다. Serialization에 선택적으로 수행 되므로 SerializeToExpression, 이렇게 하면 serialization 두 번 수행 되지 않습니다. |
루트 Serialization | 다음으로, 루트 개체 직렬화 되 고 해당 문이 문 컬렉션에 추가 됩니다. |
문 통합 | 모든 개체가 serialize 되 면 후 합니다 Serialize 문을 정렬 하 여 메서드와에서 반환 되는 메서드를 추가 합니다 GetInitializeMethod합니다. 모든에서 반환 된 메서드를 호출 하는 생성자가 마지막으로, 만들어집니다 GetInitializeMethod합니다. |
-
다음 표에서 개체는 Serialize 메서드 컨텍스트 스택에 배치 합니다.
인스턴스 | Description |
---|---|
TypeCodeDomSerializer | 이 직렬 변환기입니다. 클래스를 파생 시키는 경우가 있을 수 있습니다이 클래스에 public 속성을 추가 하는 데 유용 합니다. |
CodeTypeDeclaration | 생성 되는 형식입니다. 대부분의 개체에이에 대 한 직접 액세스를 사용할 필요가 없습니다. |
적용 대상
추가 정보
.NET