CodeDomSerializerBase.SerializeToExpression 메서드

정의

지정된 개체를 식에 serialize합니다.

protected:
 System::CodeDom::CodeExpression ^ SerializeToExpression(System::ComponentModel::Design::Serialization::IDesignerSerializationManager ^ manager, System::Object ^ value);
protected System.CodeDom.CodeExpression SerializeToExpression (System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, object value);
protected System.CodeDom.CodeExpression? SerializeToExpression (System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, object? value);
member this.SerializeToExpression : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * obj -> System.CodeDom.CodeExpression
Protected Function SerializeToExpression (manager As IDesignerSerializationManager, value As Object) As CodeExpression

매개 변수

manager
IDesignerSerializationManager

serialization에 사용할 IDesignerSerializationManager 입니다.

value
Object

serialize할 개체입니다. null일 수 있습니다.

반환

value를 serialize할 수 있으면 CodeExpression 개체이고, 그렇지 않으면 null입니다.

예외

managernull입니다.

설명

매개 변수는 value 일 수 있으며 null, 이 경우 기본 식이 반환됩니다.

메서드는 SerializeToExpression 형식 직렬화에 다음 규칙을 사용합니다.

  1. 먼저 메서드를 GetExpression 호출하여 개체에 대한 식이 이미 만들어졌는지 확인합니다. 이 경우 기존 식을 반환합니다.

  2. 그런 다음 개체의 serializer를 찾아 serialize하도록 요청합니다.

  3. 개체 직렬 변환기의 반환 값이 CodeExpression이면 식이 반환됩니다.

  4. 를 마지막으로 호출하여 GetExpression serializer가 식을 추가했는지 확인합니다.

  5. 마지막으로 를 반환합니다 null.

식을 만들 수 없고 적절한 serializer를 찾을 수 없는 경우 serialization 관리자를 통해 오류가 보고됩니다. serializer를 찾았지만 식을 생성하지 못한 경우 오류가 보고되지 않습니다. 이 경우 serializer가 이미 오류를 보고했거나 개체를 serialize하려고 시도하지 않았다고 가정합니다.

serializer가 문 또는 문 컬렉션을 반환한 경우 해당 문은 삭제되지 않습니다. 메서드는 SerializeToExpression 먼저 컨텍스트 스택에서 를 StatementContext 찾고 문 컨텍스트 개체의 StatementCollection 속성에 문을 추가합니다. 문 컨텍스트가 없으면 메서드는 SerializeToExpression 컨텍스트에서 을 CodeStatementCollection 찾고 해당 컨텍스트에 문을 추가합니다. 문을 추가할 위치를 찾을 수 없는 경우 오류가 생성됩니다.

참고

사용자 고유의 개체를 serialize할 SerializeToExpression 때 내에서 Serialize 메서드를 호출하면 안 됩니다. 대신 를 호출 GetExpression해야 합니다. 를 반환 null하는 경우 고유한 식을 만들고 를 호출 SetExpression합니다. 그런 다음 나머지 serialization을 진행합니다.

적용 대상

추가 정보