2013-08-01 3 views

답변

0

ISerializationSurrogate은 개체의 serialization을 제어하는 ​​데 사용할 수 있습니다. 어떤 경우에는 온 - 라인 표현을 좀더 콤팩트하게 만들기 위해 그것을 사용했다. 불변 오브젝트를 포함 할 수 있도록

Size: 20x30 

다른 용도로

Size: { 
    Width: 20, 
    Height: 30 
} 

선회 예/디 직렬화 직렬화.

0

ISerializationSurrogate는 닫힌 어셈블리에 포함 된 [Serializable]으로 표시되지 않은 개체를 직렬화 (수정) 할 수있는 이동 방법이며 수정할 수 없습니다.

이 작업을 수행하는 유일한 방법은 수동으로 XML 노드를 한 번에 하나씩 속성을 구성하는 것입니다. 이는 지루할 수 있습니다. 이제는 직렬화 할 객체 당 클래스 파일을 작성하고 내가 선택한 속성을 매핑합니다. 나머지는 자동으로 발생합니다. SurrogateSelector을 사용하여 이러한 surrogate 클래스를 맵핑 할 수 있습니다. 공통 클래스 (예 : List)는 상자에서 직렬화됩니다.

또 다른 대답은 Colin Bull이 설명한 것입니다.

관련 문제