2009-08-06 9 views
1

自分自身のデータ型を作成しました。このデータ型は、データテーブル内の列の型として使用されます。私はファイルからXMLデータを読んでいます。 ReadXML(ファイル)メソッドを呼び出した後、すべてのセルに、データ型を持つ列のセルを除く値があります。 ReadXML(ファイル)がファイルからデータを取り込んでMyDataTypeを作成できるように、オーバーライドする必要のある演算子がありますか?また、私はこの列のdefaultviewをソートしようとすると、 "オブジェクトのインスタンスではないオブジェクト参照"を取得します。助けてくれてありがとう。カスタムデータ型を使用したDataTable列

答えて

1

はい、カスタムデータ型を使用して列を作成できます。

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

ds.Tables.Add(table); 

あなたは(あなたがデータテーブルをシリアル化することはできません)データセットをシリアル化することができるようにしたい場合は、あなたがあなたのタイプAddressであることを保証する必要があります:あなたはプロパティの型は、アドレスのようにしたいと仮定すると

シリアライズ可能。

クラスとしてシリアル化可能とマークする方法は複数あります。最も簡単な方法はSerializableAttributeです。しかし、あなたのAddressクラスがIXmlSerializableインターフェイスを実装することをお勧めします。少し難しいかもしれませんが、バージョニングの問題を避けることができます。

関連する問題