■■■

2016年4月3日日曜日

実行中プログラムの状態をXMLファイルに保存して復元する方法

実行中プログラムの状態をXMLファイルに保存して復元する方法
VB.NET
Dim ary As SampleClass() = New SampleClass(1) {}
For i As Integer = 0 To ary.Length - 1
ary(i) = New SampleClass()
ary(i).Number = i
ary(i).Message = i.ToString() & "です。"
Next


Dim serializer1 As New System.Xml.Serialization.XmlSerializer( _
GetType(SampleClass()))
Dim sw As New System.IO.StreamWriter( _
"C:\test\sample.xml", False, New System.Text.UTF8Encoding(False))
serializer1.Serialize(sw, ary)
sw.Close()


Dim serializer2 As New System.Xml.Serialization.XmlSerializer( _
GetType(SampleClass()))
Dim sr As New System.IO.StreamReader( _
"C:\test\sample.xml", New System.Text.UTF8Encoding(False))
Dim loadAry As SampleClass()
loadAry = DirectCast(serializer2.Deserialize(sr), SampleClass())
sr.Close()
C#

SampleClass[] ary = new SampleClass[2];
for (int i = 0; i < ary.Length; i++)
{
ary[i] = new SampleClass();
ary[i].Number = i;
ary[i].Message = i.ToString() + "です。";
}


System.Xml.Serialization.XmlSerializer serializer1 =
new System.Xml.Serialization.XmlSerializer(typeof(SampleClass[]));
System.IO.StreamWriter sw = new System.IO.StreamWriter(
@"C:\test\sample.xml", false, new System.Text.UTF8Encoding(false));
serializer1.Serialize(sw, ary);
sw.Close();


System.Xml.Serialization.XmlSerializer serializer2 =
new System.Xml.Serialization.XmlSerializer(typeof(SampleClass[]));
System.IO.StreamReader sr = new System.IO.StreamReader(
@"C:\test\sample.xml", new System.Text.UTF8Encoding(false));
SampleClass[] loadAry;
loadAry = (SampleClass[])serializer2.Deserialize(sr);
sr.Close();

■■■