我编写了自己的数据类型,然后将其用作数据表中列的类型。我正在从文件中读取 XML 数据。在我调用 ReadXML(file) 方法后,所有单元格都有值,除了列中具有我的数据类型的单元格。是否需要重写某些运算符,以便 ReadXML(file) 可以从文件中获取数据并从中生成 MyDataType?此外,当我尝试对该列的默认 View 进行排序时,我得到“对象引用不是对象的实例”。感谢您的帮助。
最佳答案
是的,您可以使用自定义数据类型创建列。
假设您希望属性的类型为地址:
var ds = new DataSet();
var table = new DataTable();
table.Columns.Add("Address", typeof(Address));
ds.Tables.Add(table);
如果您希望能够序列化您的数据集(您不能序列化数据表),您必须确保您的类型 Address
是可序列化的。
有多种方法可以将类标记为可序列化。最简单的方法是使用 SerializableAttribute
。但我建议您的 Address
类实现 IXmlSerializable
接口(interface)。这可能有点困难,但您将避免版本控制问题。
关于c# - 具有自定义数据类型的 DataTable 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1240106/