Ogrenciler Class’i:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SerializationKavrami
{
//Köseli Parantez Attribute anlamina gelir. Üzerinde bulundugu üyenin (Burada, Class’in) davranisini belirleyen bir DotNet nesnesidir:
[Serializable]
public class Ogrenciler
{
public int OgrenciNo { get; set; }
public string Ad { get; set; }
public string Soyad { get; set; }
public int Not { get; set; }
public int Not2 { get; set; }
}
}
Form Uygulamamiz:
// Serialization Kavrami | www.yazilimcik.com
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
using System.Xml.Serialization;
// Serialization Kavrami | www.yazilimcik.com
namespace SerializationKavrami
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string deger = "Rize";
//Bu degeri serilestirelim:
BinaryFormatter bf = new BinaryFormatter();
FileStream fs = new FileStream("D:\\BinSeri.txt", FileMode.Create);
//bf.Serialize(bizden FileStream istedigi için FileStream tanimladik:
bf.Serialize(fs, deger); //Serilestirdik:
fs.Close(); //Artik FileStream ’i kapatabiliriz:
MessageBox.Show("D Sürücüsü’nde ’BinSeri.txt’ Isimli Dosya Basariyla Olusturuldu..!", "Bilgi");
}
private void button2_Click(object sender, EventArgs e)
{
// D Sürücüsü’nde Olusturdugumuz Dosyanin içerigini Oku:
BinaryFormatter bf = new BinaryFormatter();
try
{
FileStream fs = new FileStream("D:\\BinSeri.txt", FileMode.Open);
string deger = (string)bf.Deserialize(fs);
MessageBox.Show(deger, "Bilgi:");
fs.Close(); //fs.Close(); yapmazsak RAM Tüketir:
}
catch (Exception)
{
MessageBox.Show("D Sürücüsü’nde ’BinSeri.txt’ Adinda Bir Dosya Bulunamadi..!\nÖnce Binary Serialization’u Çalistirip Dosya’yi Olusturmalisiniz..!", "Bilgi");
}
}
private void button3_Click(object sender, EventArgs e)
{
// Ogrenciler’den Olusan Bir XML Dosyasi Olusturalim:
XmlSerializer serilestirici = new XmlSerializer(typeof(Ogrenciler));
FileStream fs = new FileStream("D:\\Seri.XML", FileMode.Create);
Ogrenciler ogr = new Ogrenciler();
ogr.Ad = "Ali";
ogr.OgrenciNo = 1284;
ogr.Soyad = "AKYILDIRIM";
ogr.Not = 100;
serilestirici.Serialize(fs, ogr);
fs.Close();
MessageBox.Show("D Sürücüsü’nde ’Seri.XML’ Isimli Dosya Basariyla Olusturuldu..!", "Bilgi");
}
private void button4_Click(object sender, EventArgs e)
{
XmlSerializer geriSerilestirici = new XmlSerializer(typeof(Ogrenciler));
try
{
FileStream fs = new FileStream("D:\\Seri.XML", FileMode.Open);
Ogrenciler ogr = (Ogrenciler)geriSerilestirici.Deserialize(fs);
fs.Close();
// Ogrenciler’den Olusan XML’den Ad-Soyad Bilgisini Çekelim:
MessageBox.Show(ogr.Ad + " " + ogr.Soyad, "Bilgi:");
// Notlari Göstersin Istiyorsak;
MessageBox.Show(Convert.ToInt32(ogr.Not).ToString(), "Bilgi:");
}
catch (Exception)
{
MessageBox.Show("D Sürücüsü’nde ’Seri.XML’ Adinda Bir Dosya Bulunamadi..!\nÖnce XML Serialization’u Çalistirip Dosya’yi Olusturmalisiniz..!", "Bilgi");
}
}
private void button1_MouseHover(object sender, EventArgs e)
{
lblAciklama.Text = "D Sürücüsüne ’BinSeri.txt’ Adinda Metin Dosyasi Kaydeder.";
}
private void button1_MouseLeave(object sender, EventArgs e)
{
lblAciklama.Text = string.Empty;
}
private void button2_MouseLeave(object sender, EventArgs e)
{
lblAciklama.Text = string.Empty;
}
private void button2_MouseHover(object sender, EventArgs e)
{
lblAciklama.Text = "D Sürücüsü’nden ’BinSeri.txt’ Adindaki Metin Dosyasini Okur.";
}
private void button3_MouseHover(object sender, EventArgs e)
{
lblAciklama.Text = "D Sürücüsüne ’Seri.XML’ Adinda XML Dosyasi Kaydeder.";
}
private void button3_MouseLeave(object sender, EventArgs e)
{
lblAciklama.Text = string.Empty;
}
private void button4_MouseHover(object sender, EventArgs e)
{
lblAciklama.Text = "D Sürücüsü’nden ’Seri.XML’ Adindaki XML Dosyasi’ni Okur.";
}
private void button4_MouseLeave(object sender, EventArgs e)
{
lblAciklama.Text = string.Empty;
}
private void button5_Click(object sender, EventArgs e)
{
// Ogrenciler’den Olusan Bir XML Dosyasi Olusturalim:
XmlSerializer serilestirici = new XmlSerializer(typeof(Ogrenciler));
FileStream fs = new FileStream("D:\\SeriNOT.XML", FileMode.Create);
Ogrenciler ogr = new Ogrenciler();
ogr.Ad = "Ali";
ogr.OgrenciNo = 1284;
ogr.Soyad = "AKYILDIRIM";
ogr.Not = 100;
ogr.Not2 = 200;
serilestirici.Serialize(fs, ogr);
fs.Close();
MessageBox.Show("D Sürücüsü’nde ’SeriNOT.XML’ Isimli Dosya Basariyla Olusturuldu..!", "Bilgi");
}
private void button6_Click(object sender, EventArgs e)
{
XmlSerializer geriSerilestirici = new XmlSerializer(typeof(Ogrenciler));
try
{
FileStream fs = new FileStream("D:\\SeriNOT.XML", FileMode.Open);
Ogrenciler ogr = (Ogrenciler)geriSerilestirici.Deserialize(fs);
fs.Close();
// Notlar’in Toplamini Göstersin Istiyorsak;
int Not1 = Convert.ToInt32(ogr.Not.ToString());
int Not2 = Convert.ToInt32(ogr.Not2.ToString());
int toplam = (Not1 + Not2);
int ortalama = ((Not1 + Not2) / 2);
MessageBox.Show(toplam.ToString(), "Toplam:"); // Toplamlarini Al:
MessageBox.Show(ortalama.ToString(), "Ortalama:"); // Ortalamalarini Al:
}
catch (Exception)
{
MessageBox.Show("D Sürücüsü’nde ’SeriNOT.XML’ Adinda Bir Dosya Bulunamadi..!\nÖnce XML Serialization NOT Ortalama’yi Çalistirip Dosya’yi Olusturmalisiniz..!", "Bilgi");
}
}
private void button5_MouseHover(object sender, EventArgs e)
{
lblAciklama.Text = "D Sürücüsüne ’SeriNOT.XML’ Adinda XML Dosyasi Kaydeder.";
}
private void button5_MouseLeave(object sender, EventArgs e)
{
lblAciklama.Text = string.Empty;
}
private void button6_MouseHover(object sender, EventArgs e)
{
lblAciklama.Text = "D Sürücüsü’nde ’SeriNOT.XML’ Adindaki XML Dosyasi Okur.";
}
private void button6_MouseLeave(object sender, EventArgs e)
{
lblAciklama.Text = string.Empty;
}
}
}
// Serialization Kavrami | www.yazilimcik.com