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);
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 만들 형식입니다. 대부분의 개체는 이에 직접 액세스할 필요가 없습니다.

적용 대상

추가 정보