샘플 코드 :
사용하여 시스템; 사용 System.IO 단계; 사용 들은 System.Runtime.Serialization 단계; 사용 System.Runtime.Serialization.Formatters.Soap 단계; // System.Runtime.Serialization.Formatters.Binary를 사용하여; 공용 클래스 테스트 { 공공 정적 무효 메인 () { // 새로운 TestSimpleObject 객체를 만듭니다. TestSimpleObject OBJ = 새로운 TestSimpleObject (); Console.WriteLine는 ( " 직렬화하기 전에 개체가 포함되어 있습니다 " ); obj.Print (); // 파일을 열고 바이너리 형식으로으로 객체를 직렬화. 스트림 스트림 = File.Open ( " 인 data.xml " , FileMode.Create); SoapFormatter 포맷터 = 새로운 SoapFormatter (); // 경우 BinaryFormatter 포맷터 = 새로운 경우 BinaryFormatter (); formatter.Serialize (스트림 OBJ); stream.Close (); // 비워 OBJ. OBJ = 널 ; // 엽니 파일 "인 data.xml는"과에서 개체를 직렬화 복원합니다. 스트림 = File.Open ( " 인 data.xml " , FileMode.Open); 포맷터 = 새로운 SoapFormatter (); // 포맷터 = 새로운 경우 BinaryFormatter (); OBJ = (TestSimpleObject) formatter.Deserialize (스트림); stream.Close (); Console.WriteLine ( "" ); Console.WriteLine는 ( " 직렬화 후 개체가 포함되어 있습니다 " ); obj.Print (); Console.ReadKey (); } } // 필요가 직렬화 될 수있는 테스트 객체입니다. [직렬화 ()] 공용 클래스 TestSimpleObject { 공공 INT의 멤버 1; 공공 문자열 멤버 2; 공공 문자열 멤버 3; 공공 더블 멤버 4; // 직렬화되지 않은 필드. [NonSerialized ()] 공중 문자열 멤버 5; 공공 TestSimpleObject () { 멤버 1 = 11 ; 멤버 2 = " 안녕하세요 " ; 멤버 3 = " 안녕하세요 " ; 멤버 4 = 3.14159265 ; 멤버 5 = " 안녕하세요 세계! " ; } 공공 무효 인쇄 () { Console.WriteLine ( " 멤버 1 = '{0}' ' , 멤버 1); Console.WriteLine ( " 멤버 2 = '{0}' ' , 멤버 2); Console.WriteLine ( " 멤버 3 = '{0}' ' , 멤버 3); Console.WriteLine ( " 멤버 4 = '{0}' ' , 멤버 4); Console.WriteLine ( " 멤버 5 = '{0}' ' , 멤버 5); } }
결과 :
전체 그래픽 객체에 대한 SOAP 형식이나 연결된 직렬화 및 역 직렬화 객체.
.NET 프레임 워크 2.0과 같은 오래된 시작. 대신, 사용 된 BinaryFormatter를 .