2009-02-26 3 views
2

이 게시물과 같은 문제가 :바이너리 직렬화 문제 - 아무도 도와 줄 수 있습니까?

http://social.microsoft.com/Forums/en-US/netfxbcl/thread/10027dd8-da47-4691-91a6-a8b89a7f514a

누구나 가능한 대답/솔루션을 알아? 재미있는 점은 serialize 가능한 클래스 (이진 직렬화)에 2 개의 컬렉션이 있다는 것입니다. 하나는 목록이고, 하나는 사전입니다. List 컬렉션은 정상이며, Dictionary는 [Deserialized] 메서드에서 Count 속성으로 0을 반환합니다.

더 이상한 것은 직렬화 해제 후에 클래스 객체로 작업하는 것이 좋습니다. Dictionary 컬렉션에 대한 모든 단위 테스트가 통과됩니다. deserialization 직후에 Dictionary 객체로 작업하기 때문에 끝이 없다는 것이 실망 스럽지만이 이상한 오류로 인해 그럴 수 없습니다. 누군가 도울 수 있습니까?

+0

일부 코드를 게시 할 수 있습니까? 수천 쌍의 눈을 발견 할 수있는 무언가를 놓칠 수 있습니다. –

답변

5

예; here; 당신은 사전을 deserialization을 완료하도록 요청할 필요가 있습니다 :

public void OnDeserialization(object sender) 
{ 
     this.Dictionary.OnDeserialization(sender); 
} 
+0

너는 내가 이걸 얼마나 보냈는지 모른다. 그렇게 해줘서 고마워. 마침내 휴식을 취하고 멋진 기능을 코딩 할 수 있습니다. – Echiban

+0

이것은 천 번이! 그냥 [OnDeserialized] 메서드로 도용 된 메서드에서도 작동한다는 것을 추가하고 싶었습니다. 단지 보낸 사람으로 StreamingContext를 전달하기 만하면됩니다. – Yoopergeek

관련 문제