a

ABLY مقالات و مطالب مجموعه

serialize کردن به وسیله سی شارپ

serialize کردن به وسیله سی شارپ

بسم الله الرحمن الرحیم



در بسیاری از مواقع شما نیاز دارید یک شی را به صورت serialize ذخیره کنید، مثلا ذخیره کردن یک شی از کلاس user در کوکی

بسم الله الرحمن الرحیم



در بسیاری از مواقع شما نیاز دارید یک شی را به صورت 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();
   }
}    

نظرات

  • Hannah Martinez
    بهنام 25
    دو شنبه 11 دی 1278 0:00

    خیلی ممنون.

نظرات یا سوالات خودرا با ما درمیان بگذارید

0912 097 5516 :Phone Number
0713 625 1757 :Phone Number