serialize کردن به وسیله سی شارپ
بسم الله الرحمن الرحیم
در بسیاری از مواقع شما نیاز دارید یک شی را به صورت serialize ذخیره کنید، مثلا ذخیره کردن یک شی از کلاس user در کوکی و یا ذخیره کردن آن در ASP.NET Identity Claims و...
در این آموزش نحوه serialize را بررسی خواهیم کرد.
یک پروژه جدید از نوع Console Application ایجاد کنید.
یک کلاس با نام clsPerson به پروژه اضافه کنید.
Property های زیر را به کلاس اضافه کنید
public string FirstName;
public string MI;
public string LastName;
درون متد main کلاس Program.cs یک شی از کلاس clsPerson ایجاد کنید:
clsPerson p = new clsPerson();
Property های کلاس را مقدار دهی کنید
p.FirstName = "Esmaeil";
p.MI = "A";
p.LastName = "Sheidaei";
کلاس XmlSerializer برای ایجاد یک شی جدید نیاز دارد نوع شی ایی را که شما می خواهید به serialize تبدیل کنید بداند به همین دلیل ما در زمان ایجاد شی از کلاس XmlSerializer نوع p را به آن اطلاع می دهیم که طبیعتا نوع شی ما در این جا clsPerson است.
System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
متد Serialize شی ما را به یک شی Serialize شده از نوع xml تبدیل می کند. همچنین این متد می تواند شی Serialize شده را به وسیلهTextWriter, Stream یا XMLWriter به خروجی ارسال کند، در اینجا ما خروجی را در صفحه Console نمایش می دهیم.
x.Serialize(Console.Out,p);
Console.WriteLine();
Console.ReadLine();
کل کدی که ما نوشیتم به صورت زیر است
using System;
public class clsPerson
{
public string FirstName;
public string MI;
public string LastName;
}
class class1
{
static void Main(string[] args)
{
clsPerson p=new clsPerson();
p.FirstName = "Jeff";
p.MI = "A";
p.LastName = "Price";
System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
x.Serialize(Console.Out, p);
Console.WriteLine();
Console.ReadLine();
}
}