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



        }
  • 相关阅读:
    显存与纹理内存详解
    UE4 编译虚幻引擎
    利用Lua脚本语言制作魔兽WOW插件
    详解液晶面板制造全过程
    游戏引擎剖析
    数据库常见面试题
    Selenium Webdriver元素定位的八种常用方式
    Windows 安装 Mongodb
    Redis在windows下安装过程
    python 关于一个懒惰和非懒惰的
  • 原文地址:https://www.cnblogs.com/zhangjun1130/p/1902353.html
Copyright © 2011-2022 走看看