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



        }
  • 相关阅读:
    关于二叉树遍历的一点想法
    Mysqldump导入数据库很慢的解决办法
    javascript笔记收集
    再次讨论二叉树--如何根据先序和中序推选后序
    一道图的题目-拓扑序概念
    一道哈夫曼二叉树题目--稍微容易一点
    一道哈夫曼树的题目--好不容易
    证明二叉树节点数公式
    一道二叉树题目---顺序存储二叉树位置同层的关系
    POJ 3253 Fence Repair(贪心)
  • 原文地址:https://www.cnblogs.com/zhangjun1130/p/1902353.html
Copyright © 2011-2022 走看看