Як серіалізувати ArrayList у C#

Наведу приклад серіалізації колекції ArrayList з власних елементів MyElementClass: using Syste

Наведу приклад серіалізації колекції ArrayList з власних елементів MyElementClass:

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.Xml.Serialization;
using System.IO; 

namespace ConsoleApplication1
{
 class Program
 {
   static void Main(string[] args)
   {
     ArrayList al = new ArrayList();
     XmlSerializer serializer=new XmlSerializer(typeof(ArrayList),new Type[] {typeof (MyElementClass )});
     al.Add(new MyElementClass());
     al.Add (new MyElementClass (2,"AAA"));
     Console.WriteLine("Writing With Stream"); 
     try
     {
        Stream writer = new FileStream("C:\A.XML", FileMode.Create);
        serializer.Serialize(writer, al);
        writer.Close();
      }
      catch (Exception ex)
      {
        Console.WriteLine(ex.Message );
      }
  }
} 

Нижче подано код для елемента

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; 

namespace ConsoleApplication1
{
  public class MyElementClass: IComparable 
  {
    public int ID;
    public string Name;
    public MyElementClass()
    {
      ID = 1;
      Name = "ABC";
    }
    public MyElementClass(int id, string name)
    {
      ID = id;
      Name = name;
    }
    public int CompareTo(object obj)
    {
       if (obj is MyElementClass)
        {
           MyElementClass otherElement = (MyElementClass)obj;
           return this.ID.CompareTo (otherElement.ID);
        }
       else
        {
          throw new ArgumentException("object is not a MyElement");
        }
   }
 }
}

 

Додати коментар

Loading