自定义数据类型的DataTable列

3
我编写了自己的数据类型,然后将其用作datatable中列的类型。 我正在从文件中读取XML数据。 在调用ReadXML(file)方法之后,除了具有我的数据类型的列中的单元格外,所有单元格都有值。 是否需要重载某些运算符,以便ReadXML(file)可以从文件中获取数据并将其转换为MyDataType? 此外,当我尝试按此列对defaultview进行排序时,会出现“对象引用未设置为对象的实例”的错误。 感谢任何帮助。
1个回答

3

是的,您可以使用自定义数据类型创建列。

假设您想要将属性设置为地址类型:

var ds = new DataSet();
var table = new DataTable();
table.Columns.Add("Address", typeof(Address));

ds.Tables.Add(table);

如果您想序列化数据集(无法序列化数据表),则必须确保您的类型Address是可序列化的。
有多种方法可以标记类为可序列化。最简单的方法是使用SerializableAttribute。但我建议您的Address类实现IXmlSerializable接口。这可能有点困难,但您将避免版本问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接