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; }
            }



        }
  • 相关阅读:
    蜕变过程中的思考
    Django template for 循环用法
    Django 发送html邮件
    Django F对象的使用
    在Django中使用Q()对象
    ubuntu中管理用户和用户组
    Django settings.py 的media路径设置
    Git版本控制 备忘录
    Git .gitignore文件的使用
    将git关联到pycharm
  • 原文地址:https://www.cnblogs.com/zhangjun1130/p/1902353.html
Copyright © 2011-2022 走看看