• using ISerializable to control serialization and deserialization


    [Serializable]
        public class OuterClass : ISerializable
        {
            public OuterClass()
            {
            }

            private OuterClass(SerializationInfo info, StreamingContext context)
            {
                MyField = info.GetString("MyField");
                Inner = (InnerClass)info.GetValue("Inner"typeof(InnerClass));
            }

            #region ISerializable Members

            public void GetObjectData(SerializationInfo info, StreamingContext context)
            {
                info.AddValue("MyField", MyField);
                info.AddValue("Inner",Inner);
            }

            #endregion

            public string MyField { getset; }

            public InnerClass Inner { getset; }
        }

        [Serializable]
        public class InnerClass : ISerializable
        {
            public InnerClass()
            {
            }

            private InnerClass(SerializationInfo info, StreamingContext context)
            {
                MyField = info.GetString("MyField");
            }

            #region ISerializable Members

            public void GetObjectData(SerializationInfo info, StreamingContext context)
            {
                info.AddValue("MyField", MyField);

            }

            #endregion

            public string MyField { getset; }
        }
  • 相关阅读:
    Android AlertDialog警告对话框实现
    Android状态栏通知Status Bar Notification
    Android spinner控件的实现
    Winform之UI后台线程
    Winform之自定义控件
    WebForm原理,aspx服务器端与客户端源码比较
    IHttpModule之闲扯
    [算法]方正面试题:N×N矩阵螺旋打印输出
    DOTA版设计模式——工厂方法
    Window服务
  • 原文地址:https://www.cnblogs.com/shcity/p/2379971.html
Copyright © 2020-2023  润新知