----------------------------kuailewangzi1212
--http://topic.csdn.net/u/20070713/11/6acc7b7f-b099-4f04-a77e-97a3b3d782cf.html
问题解决了,谢谢大家的帮助!
我把解决方法贴出来希望对大家有帮助
------------------------------------
[System.ComponentModel.DesignerCategory( "Code ")]
[SerializableAttribute]
public class BaseDataSet:System.Data.DataSet,ISerializable
{
private System.Collections.ArrayList columnPropertyList;
public System.Collections.ArrayList ColumnPropertyList
{
get
{
return this.columnPropertyList;
}
set
{
this.columnPropertyList=value;
}
}
public void AddColumnPropertyList(ColumnProperty col)
{
columnPropertyList.Add(col);
}
/// <summary>
/// 返回列的属性对象
/// </summary>
/// <param name= "str_col "> 列名 </param>
/// <returns> </returns>
public ColumnProperty GetColProperty(string str_col)
{
foreach(ColumnProperty op in columnPropertyList)
{
if(op.Column==str_col)
{
return op;
}
}
return null;
}
public BaseDataSet(SerializationInfo info, StreamingContext context) : base(info, context)
{
columnPropertyList=(System.Collections.ArrayList)info.GetValue( "List ",typeof(System.Collections.ArrayList));
}
public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
{
Type t = typeof(DataSet);
MethodInfo mi = t.GetMethod( "System.Runtime.Serialization.ISerializable.GetObjectData ",
BindingFlags.Instance | BindingFlags.NonPublic);
mi.Invoke(this, new object[]{info,context});
info.AddValue( "List ", columnPropertyList);
}
}
分享到:
相关推荐
实现`Externalizable`的类需要覆盖`writeExternal()`和`readExternal()`方法,自行决定哪些字段需要序列化和如何序列化。这种方式通常用于需要优化序列化性能或者有特殊序列化需求的情况。 **四、serialVersionUID*...
对象序列化 串行化 实现java对象的保存
通常,这会包括创建一个可序列化的类,然后使用如`BinaryFormatter`或`XmlSerializer`等类来实现序列化和反序列化操作。这些代码片段可能展示了如何将对象写入文件,以及如何从文件中读取并还原对象。 总结来说,这...
序列化是Java编程中一项重要的技术,它能够帮助开发者实现对象的持久化和网络传输等功能。通过理解序列化的原理和实现机制,开发者可以更好地利用这一特性来提高应用程序的灵活性和扩展性。同时,合理地设置`...
在上述例子中,`department`字段被标记为`transient`,意味着在串行化和反串行化过程中,这个字段的值不会被保存或恢复。 总的来说,Java对象的串行化是一个强大的工具,它使得对象可以在多种场景下保持其状态,如...
总的来说,GDI+的`Image`类的序列化和串行化是Windows编程中处理图像数据的重要技术,它可以帮助我们更灵活地管理和使用图像资源。通过学习这样的范例,开发者可以提升在图形处理和数据存储方面的技能。
2. **性能优化**:如果对象中包含大量数据,但其中一部分数据在序列化后并不需要,使用`transient`可以减少序列化和反序列化操作的开销。 3. **动态数据**:对于那些在运行时动态生成或修改的数据,如果在序列化时不...
它包含了许多类,其中一部分是用来处理串行化,即数据的序列化和反序列化过程。串行化是将对象的状态转换为可存储或传输的形式,如文件、数据库或网络流,以便稍后恢复该状态的过程。在MFC中,`CObject`类是所有MFC...
串行化的基本过程包括两个主要步骤:序列化和反序列化。序列化是指将对象的状态转换为字节流的过程,而反序列化则是将字节流恢复为原来的对象实例。在VB.NET中,可以使用.NET框架提供的System.Runtime.Serialization...
3. 序列化和反序列化可以简化数据交换,例如XML、JSON等格式。 4. 复制对象:通过序列化创建对象的副本。 三、C#中的对象串行化技术 1. BinaryFormatter:这是.NET Framework中最常用的一种串行化方式,它将对象...
串行化(Serialization)是计算机科学中的一个重要概念,特别是在数据存储和传输领域。简单来说,串行化就是将对象的状态信息转换为可以存储或传输的形式的过程;而反串行化则是将存储或传输的数据还原成对象的过程...
1. **序列化标识符**:每个可串行化的类都可以包含一个`private static final long serialVersionUID`字段,这个字段用于版本控制。当类的结构发生变化时,如果没有正确更新这个值,反串行化可能会失败。如果省略此...
文档串行化(Serialization)是MFC中实现文件保存和加载的关键机制,它允许将文档对象的状态转换为字节流,以便于存储到磁盘或在网络上传输。下面我们将深入探讨MFC文档的串行化以及如何实现保存功能。 **1. MFC...
串行化是指存储和获取磁盘文件、内存或其他地方中的对象。在串行化时,所有的实例数据都保存到存储介质上, 在取消串行化时,对象会被还原,且不能与其原实例区别开来。只需给类添加Serializable属性,就可以实现...
在我们深入探讨C#序列化和反序列化之前我们先要明白什么是序列化,它又称串行化,是.NET运行时环境用来支持用户定义类型的流化的机制。序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的...
8. **自定义序列化行为**:除了使用系统提供的类,还可以创建自定义的串行化器,实现IFormatter接口,或者使用System.Text.Json库来自定义JSON串行化行为。 总之,对象串行化是C#中一个非常实用的技术,它在数据...
处理无效数据可能涉及到错误检查和异常处理,而版本控制则涉及到如何确保不同版本的代码能正确地序列化和反序列化数据。对于复杂对象的序列化,可能需要处理嵌套对象、集合类或自定义数据结构等问题。 总的来说,...
串行化是微软提供的用于对对象进行文件I/O的一种机制,该机制在框架(Frame)/文档...很多人对什么是串行化、怎么使对象具有串行化能力和如何使用串行化功能等问题都 不甚明了。本文试图对串行化做一个简单的解释。
在C++中,通常使用`IStream`和`OStream`接口来处理序列化和反序列化操作。 2. **MFC的序列化**:Microsoft Foundation Class (MFC)库提供了对序列化的支持。通过继承`CObject`类,我们可以使我们的类具有序列化能力...
Java 序列化机制 Java 序列化机制是一种将对象状态写入 Byte 流里的技术...Java 序列化机制是一种强大的技术,可以帮助开发者快速实现对象的持久化和传播。但是,需要注意父类的处理和构造函数的调用,以免出现错误。