понедельник, 27 июня 2011 г.

Сериализация в C#

Стояла задача: сохранение значений формы приложения, решил использовать сериализацию. Разработал класс, в котором будут храниться значения с элементов формы:
public class DataClass
{
public DataClass() { }
public string TextBox = "";
public string RichTextBox = "";
}

При загрузки формы делаю десериализацию:
private void Form1_Load(object sender, EventArgs e)
{
XmlReader reader = new XmlTextReader("nameXml.xml");
XmlSerializer serializer = new XmlSerializer(typeof(DataClass)); DataClass sd = (DataClass)serializer.Deserialize(reader); reader.Close();
reader.Close();
textBox1.Text = sd.TextBox;
richTextBox1.Text = sd.RichTextBox;
}

При закрытии сериализацию:
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
DataClass obj = new DataClass();
obj.TextBox = textBox1.Text;
obj.RichTextBox = richTextBox1.Text;
XmlWriter writer = new XmlTextWriter("nameXml.xml", System.Text.Encoding.UTF8);
XmlSerializer sr = new XmlSerializer(obj.GetType());
sr.Serialize(writer, obj);
writer.Close();
}

Комментариев нет:

Отправить комментарий