zoukankan      html  css  js  c++  java
  • C# 序列化

    public class CustomStyleHelper
        {

            public static void DoSerialize(string strFile,CustomStyle customstyle)
            {
                using (FileStream fs = new FileStream(strFile, FileMode.OpenOrCreate))
                {
                    XmlSerializer formatter = new XmlSerializer(typeof(CustomStyle));
                    formatter.Serialize(fs, customstyle);
                }
     
            }
            public static CustomStyle DeSerialize(string strFile)
            {
                CustomStyle customstyle;
                using (FileStream fs = new FileStream(strFile, FileMode.Open))
                {
                    XmlSerializer formatter = new XmlSerializer(typeof(CustomStyle));
                    customstyle = (CustomStyle)formatter.Deserialize(fs);
                }
                return customstyle;
     
            }

            //XML序列化方式不能序列化对象类型属性(比如Color),只能序列化int string类型属性
            //Binary序列化方式可以序列化对象类型属性(比如Color),也能序列化int string类型属性
            //zhangjun 2010.12.10
            public static void BinaryDoSerialize(string strFile, CustomStyle customstyle)
            {
                using (FileStream fs = new FileStream(strFile, FileMode.OpenOrCreate))
                {
                    BinaryFormatter formatter = new BinaryFormatter();
                    formatter.Serialize(fs, customstyle);
                }

            }
            public static CustomStyle BinaryDeSerialize(string strFile)
            {
                CustomStyle customstyle;
                using (FileStream fs = new FileStream(strFile, FileMode.Open))
                {
                    BinaryFormatter formatter = new BinaryFormatter();
                    customstyle = (CustomStyle)formatter.Deserialize(fs);
                }
                return customstyle;

            }

            public static IRgbColor Color2RgbColor(Color color)
            {

                IRgbColor NewColor = new RgbColor();
                NewColor.Blue = color.B;
                NewColor.Red = color.R;
                NewColor.Green = color.G;

                if (color.Name.ToUpper() == "TRANSPARENT")
                {
                    NewColor.Transparency = 0;
                }

                return NewColor;
            }




        }

        [Serializable]
        public class CustomStyle
        {
            private Color sColor;
            public Color SColor
            {
                get { return sColor; }
                set { sColor = value; }
            }

            private double sWidth;
            public double SWidth
            {
                get { return sWidth; }
                set { sWidth = value; }
            }

            private Color dColor;
            public Color DColor
            {
                get { return dColor; }
                set { dColor = value; }
            }

            private double dWidth;
            public double DWidth
            {
                get { return dWidth; }
                set { dWidth = value; }
            }



        }
  • 相关阅读:
    A1044. Shopping in Mars (25)
    A1019. General Palindromic Number (20)
    A1018. Public Bike Management (30)
    26850: 收集数码晶体 有40%错误
    A1016. Phone Bills (25)
    A1014. Waiting in Line (30)
    A1011. World Cup Betting (20)
    A1010. Radix (25)
    A1009. Product of Polynomials (25)
    A1008. Elevator (20)
  • 原文地址:https://www.cnblogs.com/zhangjun1130/p/1902353.html
Copyright © 2011-2022 走看看