私は2つのシリアライズ可能なクラスを持っています:
[Serializable]
public class Word
{
public List<string> similes;
}
.
[Serializable]
public class Lexicon
{
public List<Word> words;
}
両方のクラスは別々に XML ファイルとして保存されますが、Lexicon の XML ファイルは次のようになります。
<Word>
<Similes>
<string>Hello</string>
<string>Hi</string>
</Similes>
</Word>
<Word>
<Similes>
<string>Goodbye</string>
<string>Bye</string>
</Similes>
</Word>
<Lexicon>
<Words>
<Word>
<Similes>
<string>Hello</string>
<string>Hi</string>
</Similes>
</Word>
<Word>
<Similes>
<string>Goodbye</string>
<string>Bye</string>
</Similes>
</Word>
</Words>
</Lexicon>
そして、それはたった2つの言葉で!より多くの単語が追加されると、これがすぐに手に負えなくなることがわかります。さらに、「こんにちは、こんにちは」という単語は、逆シリアル化されると、逆シリアル化されたレキシコン内に格納されているオブジェクトとは異なるオブジェクトになります (同じオブジェクトを参照する必要がある場合)。
基本的に、シリアル化された辞書ファイルが、xml を複製する代わりに Word インスタンスをシリアル化することによって生成されたファイルを参照するようにする方法はありますか?