DBException 是自定义异常类,其中有个构造函数如下:
protected DBException(SerializationInfo info, StreamingContext context) : base(info, context){   }
现在想实例化一个对象,程序如下:
SerializationInfo info = new SerializationInfo(Type.GetType("System.String"), new System.Runtime.Serialization.FormatterConverte());
StreamingContext context = new StreamingContext(StreamingContextStates.File);
DBException_Accessor target = new DBException_Accessor(info, context);
调用构造函数时,会抛出一个异常:System.Runtime.Serialization.SerializationException: 成员‘ClassName’找不到。
请高手指教下,为什么会抛出这个异常啊?
谢谢! 

解决方案 »

  1.   

    SerializationInfo info = new SerializationInfo(new DBException().GetType(), new System.Runtime.Serialization.FormatterConverter());
                StreamingContext context = new StreamingContext(StreamingContextStates.File);
                info.AddValue("ClassName", "1");
                info.AddValue("Message", "2");
                info.AddValue("InnerException", new System.Exception());
                info.AddValue("HelpURL", "4");
                info.AddValue("StackTraceString", "5");
                info.AddValue("RemoteStackTraceString", "6");
                info.AddValue("RemoteStackIndex", "7");
                info.AddValue("ExceptionMethod", "8");
                info.AddValue("HResult", "9");
                info.AddValue("Source", "10");这个是找到的解决方法,希望能给遇到类似问题的人提供点参考!