1

誰かがこの厄介だが些細な(必要性の点で)質問で私を助けることができるかどうか疑問に思います。オブジェクトのコレクションを内部に含むオブジェクトがあります

 public class OuterClass
  {
    InnerClasses innerClasses= new InnerClasses();
     public InnerClasses InnerClasses
    {
      get {return innerClasses; }
    }
    public string Name
   {
     get;set;
   }
  }

  public class InnerClasses:List<InnerClass>
  {

  }
  public class <InnerClass>
  {

  }

基本的に私が経験している問題は、xmlシリアライザーを通過させると

    var outer = new OuterClass(){Name="Name"}
    var xmlSerializer = new XmlSerializer(GetType());
    var stringBuilder = new StringBuilder();
    var stringWriter = new StringWriter(stringBuilder);    
    xmlSerializer.Serialize(stringWriter, this);
    return stringBuilder.ToString();

内部クラスがないのになぜそれが出てしまうのか疑問に思います

<OuterClass>
 <Name>Name</Name>
 <InnerClasses ></InnerClasses>
</OuterClass>

InnerClassesをセルフクローズタグとして配置しないのはなぜですか?

上記のコードが配置されることは理解していますが、実際のコードリスト全体を配置することはできません。(私が知っているあまり使用されていません)私はそれを引き起こす可能性のあるものについてのポインタを探しています。

なぜデフォルトでこれを行わないのか、私は一生理解できません。

どこを見ればよいかについての入力に感謝します。

4

1 に答える 1

1

私はいつも同じことに気付きましたが、私が見つけた限りでは、それはシリアライゼーション クラスが実装された方法にすぎません。彼らは単に自己終了タグを使用しないことを選択しました. うまくいけば、これは将来の実装で変更されるでしょう。

于 2009-01-06T02:56:36.183 に答える