2010-07-26 3 views
1

Windows Mobile 6 (.NET CF 3.5) 용 프로젝트를 작성하고 있습니다. 내 프로젝트에 다음과 같은 클래스가 포함되어 있습니다.비트 맵을 포함하는 객체 직렬화 .NET Compact Framework

class MyClass { 
    private Bitmap picture; 
    //... and some other fields ... 

    public MyClass() 
    { 
     picture = new Bitmap (/*Picture file path*/); 
     //... 
    } 
} 

놀랍게도 .NET CF에는 바이너리 포맷터가 없다는 것을 알게되었습니다. 아무도 내가 그런 개체를 serialize 할 수있는 방법을 알고 있습니까 ?? CompactFormatterPlus을 사용하려고했지만 효과가 없습니다.

답변

1

두 가지 방법으로 공격 할 수 있습니다.

  1. 수동으로 일련 번호를 지정하십시오. Bitmap 클래스는 a Save method that can output to a Stream입니다. 이를 직렬화 스트림으로 보낼 수 있습니다.
  2. 타사 옵션을 사용하십시오. 아마도 protobuf-net을 사용할 것입니다.
+0

답장을 보내 주셔서 감사 드리며 늦어서 죄송합니다. 세 가지 타사 솔루션을 사용하려고했지만 Bitmap 클래스에 기본 C'tor가 없으므로 이들 중 일부는 작동하지 않습니다. 첫 번째 옵션은 제 자체 클래스 직렬 변환기를 작성하는 것입니다. 좀 더 자세한 정보를 알려주시겠습니까? 나는 Iserializable 인터페이스를 구현해야한다는 것을 알고 있지만, 여전히 Bitmap.Save() 메서드를 사용하는 방법을 이해할 수 없다. 작은 코드 스냅 샷을 써주시겠습니까? 다시 한번 감사드립니다! –

관련 문제