14

XML スキーマ .xsd ファイルがあり、 xsd.exe ツールを使用してすべての C# クラスを含むファイルを生成します。XML タグ内に一連の要素がある場合、それは C# では配列で表されます。失敗は明らかです。配列の代わりにリストを生成するにはどうすればよいですか?

クラス内の固定サイズの配列の代わりに、リストを使用したいと考えています。

Book [] books = new Book[someFixSize];

List<Book> books =  new List<Book>();

これに関する古い(非常に古い)質問を見たことがありますが、満足のいく解決策を提供したものはありません:/

これは最新の役立つヒントです: http://www.stefanbader.ch/xsdcsarr2l-exe-refactor-xsd-array-to-list/

4

5 に答える 5

5

コントラクトなしで svcutil を使用しようとすると、同じ問題が発生します。そのため、xsdcsarr2lツールを作成しました。興味があれば、時間をかけて、少なくともリスト変数が自動的に初期化される新しいバージョンをアップロードします。一方、プロジェクトは十分に軽いため、ソースを取得して、NRefactory クラスを使用して自分で改善することができます。

于 2013-03-15T17:31:56.803 に答える
2

svcutil.exe を使用してみてください

svcutil /o:myFile.cs /ct:System.Collections.Generic.List myXsd.xsd
于 2013-03-13T17:24:57.737 に答える
0

Xsd2Code を試す

配列ではなくリストを生成します。残念ながら、コードを逆シリアル化することはできませんでしたが、xsd によって生成されたコードと比較すると、非常によく似ていました。

于 2015-09-15T16:48:53.730 に答える