[Serializable]自己简单理解

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

namespace ConsoleApplication8
{
    /// <summary>
    /// BinaryFormatter  System.Runtime.Serialization.Formatters.Binary
    /// SoapFormatter    System.Runtime.Serialization.Formatters.Soap
    /// XmlSerializer    System.Xml.Serialization
    /// </summary>
    class Program
    {
        static void Main(string[] args)
        {
            UserPrefs userdata = new UserPrefs();
            userdata.windowsColor = "black";
            userdata.FontSize = 50;
            BinaryFormatter binFormate = new BinaryFormatter();
            using(Stream fstream = new FileStream("user.bat",FileMode.Create,FileAccess.Write,FileShare.None))
            {
                binFormate.Serialize(fstream, userdata);
            }
            LoadBinaryFile("user.bat");
            Console.ReadLine();

        }

        static void LoadBinaryFile(string filename)
        {
            BinaryFormatter binFormate = new BinaryFormatter();
            using (Stream fstream = File.OpenRead(filename))
            {
                UserPrefs userdata = (UserPrefs)binFormate.Deserialize(fstream);
                Console.WriteLine("winodwsColor = {0}",userdata.windowsColor);
            }
        }
    }

    [Serializable]
    public class UserPrefs
    {
        public string windowsColor;
        public int FontSize;
    }
}

 

posted @ 2013-05-31 14:58  侠梦千年  阅读(197)  评论(0)    收藏  举报