직렬화 SoapFormatter

샘플 코드 :

사용하여 시스템;
사용 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를 .

 

추천

출처www.cnblogs.com/Tpf386/p/12111604.html