DebuggerVisualizer时,序列化引出的问题。

实现如下功能:http://www.cnblogs.com/devil0153/archive/2010/09/01/Visual-Studio-Custom-Debugger.html#2889243

参考的例子没问题。我把参考的例子 MyTable 对象, 继承自  Dictionary<string,string>  发现报错:

未找到反序列化“CustomDebugger.MyTable”类型对象的构造函数。

 

MyTable 对象应该如下定义:

[DebuggerVisualizer(typeof(MyTableDebuggerVisualizer))]
    [Serializable]
    public class MyTable : Dictionary<string, string>
    {
        public MyTable()
        {
            this.Columns = new MyColumnCollection();
            this.Rows = new MyRowCollection();
        }
        public override void GetObjectData(SerializationInfo info, StreamingContext context)
        {
            info.AddValue("Rows", this.Rows);
            info.AddValue("Columns", this.Columns);
            base.GetObjectData(info, context);
        }

        MyTable(SerializationInfo info, StreamingContext context)
            : base(info, context)
        {
            this.Rows = info.GetValue("Rows", typeof(MyRowCollection)) as MyRowCollection;
            this.Columns = info.GetValue("Columns", typeof(MyColumnCollection)) as MyColumnCollection;
        }

        public MyColumnCollection Columns { get; private set; }
        public MyRowCollection Rows { get; private set; }
    }

 

问题解决。再一次加深了对 反序列化的印象。

你可能感兴趣的:(debugger)