C#에서 Settings.settings에 클래스 저장하기
1. Settings.settings에 새로운 설정 항목 추가하기
- 프로젝트의 솔루션 탐색기에서 '속성'을 더블 클릭합니다.
- 설정 탭을 선택합니다.
- 새로운 설정 항목을 추가합니다. 예: 이름을 SerializedClass로, 형식을 String로 설정합니다.
2. 클래스를 문자열로 직렬화하고 Settings.settings에 저장하기
using System.IO;
using System.Xml.Serialization;
public class MyClass
{
public string Name { get; set; }
public int Age { get; set; }
}
public string SerializeObjectToXml<T>(T objectToSerialize)
{
XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
StringWriter textWriter = new StringWriter();
xmlSerializer.Serialize(textWriter, objectToSerialize);
return textWriter.ToString();
}
MyClass myInstance = new MyClass { Name = "John", Age = 30 };
string serializedClass = SerializeObjectToXml(myInstance);
Properties.Settings.Default.SerializedClass = serializedClass;
Properties.Settings.Default.Save();
3. Settings.settings에서 문자열을 불러와 클래스로 역직렬화하기
public T DeserializeXmlToObject<T>(string xmlString)
{
XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
StringReader textReader = new StringReader(xmlString);
return (T)xmlSerializer.Deserialize(textReader);
}
string savedSerializedClass = Properties.Settings.Default.SerializedClass;
MyClass loadedInstance = DeserializeXmlToObject<MyClass>(savedSerializedClass);
이 방법을 사용하면 다양한 클래스의 인스턴스를 쉽게 저장하고 불러올 수 있습니다.
각 프로젝트의 요구 사항에 따라 직렬화 및 역직렬화 방식을 선택하여 사용하시면 됩니다.
'C# Programming' 카테고리의 다른 글
C# PadRight, PadRight - 문자열에 특정 문자 붙이기 (0) | 2023.09.13 |
---|---|
C#으로 ACCESS db 파일 만들기 (0) | 2023.08.24 |
C#의 lock 키워드 이해하기 (0) | 2023.08.23 |
C# chart 데이터 가져오기 연습 (0) | 2023.01.04 |
C# PropertyChanged 예제 (0) | 2022.10.10 |