Metode persistensi objek data dengan cara serialisasi dan deserialisasi kumpulan entitas data generik.
Saat kita biasa menggunakan database, sering kali kita menemui masalah yaitu kita tidak ingin objek entitas data tersebut dimasukkan ke dalam database, tetapi kita tidak ingin objek entitas data tersebut dimasukkan ke dalam database. ingin menyimpannya, maka kita dapat membuat serialnya menjadi
string XML dan menyimpannya ke tempat lain. Karena string tersebut dibuat, string tersebut dapat disimpan ke tempat mana pun kita ingin menyimpannya. Misalnya, ViewState asp.net, cookie, cache, dll.
Pertama, kita mendefinisikan kelas entitas data.
Entitas kelas
{
Entitas publik()
{}
id int pribadi;
Id int publik
{
mendapatkan
{
mengembalikan identitas;
}
mengatur
{
id = nilai;
}
}
nama string pribadi;
Nama string publik
{
mendapatkan
{
nama kembali;
}
mengatur
{
nama = nilai;
}
}
harga ganda pribadi;
harga ganda publik
{
mendapatkan
{
harga pengembalian;
}
mengatur
{
harga = nilai;
}
}
}
Jadi masukkan ke dalam objek List
List
Objek entitas = Entitas baru();
obj.Id = 1;
obj.Nama = "tes";
obj.Harga = 3,23;
daftar.Tambahkan(obj);
Dengan cara ini, objek List
string statis publik Serialize
{
Hasil XmlDocument = XmlDocument baru();
hasil.LoadXml("
foreach (obj BusinessObject di GenericList)
{
XmlElement Item = hasil.CreateElement("Item");
PropertyInfo[] properti = obj.GetType().GetProperties();
foreach (properti PropertyInfo di properti)
{
if (properti.GetValue(obj, null) != null)
{
Elemen XmlElement = hasil.CreateElement(property.Name);
elemen.SetAttribute("Jenis", properti.PropertyType.Nama);
elemen.InnerText = properti.GetValue(obj, null).ToString();
Item.AppendChild(elemen);
}
}
hasil.DocumentElement.AppendChild(Item);
}
mengembalikan hasil.InnerXml;
}
Kemudian kita memanggil metode ini
string str = Serialize
File XML yang dihasilkan adalah:
Selanjutnya, kita deserialize file xml yang dihasilkan di atas dan menghasilkan objek List
public static List
{
Daftar
XmlDocument XmlDoc = XmlDocument baru();
XmlDoc.LoadXml(XmlStr);
foreach (XmlNode ItemNode di XmlDoc.GetElementsByTagName("Root").Item(0).ChildNodes)
{
Item BusinessObject = Activator.CreateInstance
PropertyInfo[] properti = typeof(BusinessObject).GetProperties();
foreach (XmlNode propertyNode di ItemNode.ChildNodes)
{
string nama = propertyNode.Nama;
tipe string = propertyNode.Attributes["Type"].Value;
nilai string = propertyNode.InnerXml;
foreach (properti PropertyInfo di properti)
{
if (nama == properti.Nama)
{
property.SetValue(item,Convert.ChangeType(nilai,property.PropertyType), null);
}
}
}
hasil.Tambahkan(item);
}
hasil pengembalian;
}
Kemudian kita memanggil metode ini:
List
Ini sudah berakhir.
Artikel ini hanya memperkenalkan Anda pada metode sederhana untuk membuat serialisasi objek List<>. Anda harus menggunakannya sesuai dengan situasi Anda sendiri.
http://www.cnblogs.com/kchen/archive/2006/11/04/550382.html