다음을 통해 공유


Serialization 샘플

업데이트: 2007년 11월

이 솔루션은 개체를 serialize 및 deserialize하는 방법을 보여 줍니다.

설치 샘플 및 지침을 얻으려면

  • 다음 중 하나 이상을 수행합니다.

    • 도움말 메뉴에서 샘플을 클릭합니다.

      추가 정보 파일에서 샘플에 대한 정보를 확인합니다.

    • Visual Studio 2008 Samples 웹 사이트를 방문합니다. 이 웹 사이트에서 최신 버전의 샘플을 얻을 수 있습니다.

    • Visual Studio가 설치되어 있는 컴퓨터에서 샘플을 찾습니다. 기본적으로 샘플과 추가 정보 파일은 drive:\Program Files\Microsoft Visual Studio 9.0\Samples\lcid에 설치되어 있습니다. Visual Studio Express Editions의 경우에는 모든 샘플이 온라인에 있습니다.

자세한 내용은 샘플 파일 찾기를 참조하십시오.

보안 정보:

이 샘플 코드는 개념을 설명하기 위한 것으로 개념과 관련된 코드만을 보여 줍니다. 특정 환경에 대한 보안 요구 사항을 충족하지 못 할 수 있고 표시된 그대로 사용하면 안됩니다. 안전하고 강력한 프로젝트를 만들려면 보안 및 오류 처리 코드를 추가하는 것이 좋습니다. Microsoft에서는 어떠한 보증도 없이 “있는 그대로” 이 샘플 코드를 제공합니다.

이 샘플을 실행하려면

  • F5 키를 누릅니다.

세부 항목

이 응용 프로그램에는 두 개의 클래스 즉, 표준 serialization을 사용하는 클래스와 사용자 지정 serialization을 사용하는 클래스가 포함되어 있습니다. 사용자 인터페이스에는 이 두 클래스를 serialize 및 deserialize하는 단추가 있습니다. 표준 serialization을 사용하는 클래스는 SOAP 파일 또는 이진 파일로 serialize될 수 있습니다. 사용자 지정 serialization을 사용하는 클래스는 SOAP 파일로 serialize됩니다. TextBox 컨트롤은 SOAP 파일을 표시하는 데 사용됩니다. 두 클래스 모두에 SerializableAttribute 특성이 있습니다. 다음 표에 클래스에 대한 설명이 나와 있습니다.

클래스 멤버

SerializationClass

CustomSerializationClass

PublicVariable

public 변수는 변경 없이 serialize 및 deserialize됩니다.

public 변수는 변경 없이 serialize 및 deserialize됩니다.

PublicProperty

속성을 지원하는 private 변수는 변경 없이 serialize 및 deserialize됩니다.

속성을 지원하는 private 변수는 사용자 인터페이스에서 설정된 값에 관계없이 -1로 serialize됩니다. 따라서 -1로 deserialize됩니다.

NonSerializedVariable

이 변수는 NonSerializedAttribute로 표시되어 있으므로 serialize되지 않습니다. public 변수는 serialize되지 않으며 deserialize된 값은 0입니다.

변수가 NonSerializedAttribute로 표시되어 있지만 사용자 지정 serialization이 이 설정을 재정의하므로 이 변수는 serialize됩니다. public 변수는 변경 없이 serialize 및 deserialize됩니다.

다음과 같은 세 가지 유형의 serialization을 보여 줍니다.

  • SOAP 형식   Class1이 SoapFormatter 클래스를 사용하여 serialize됩니다.

  • 이진 형식   Class1이 BinaryFormatter 클래스를 사용하여 serialize됩니다.

  • 사용자 지정 형식   Class2가 사용자 지정 serialization을 수행하는 GetObjectData 메서드를 포함하여 ISerializable 인터페이스를 구현합니다.

참고 항목

참조

System.Runtime.Serialization.Formatters.Soap

Serialize

Deserialize

ISerializable

GetObjectData

SerializableAttribute