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