質問

この厄介な、しかし些細な(必要性に関して)質問で誰かが私を助けることができるかどうか疑問に思います。 オブジェクトのコレクションを持つオブジェクトがあります

 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を自己閉じタグとして配置しないのですか?

上記のコードが配置されることはわかっていますが、実際のコード一覧をすべて表示することはできません。 (あまり使用していません)私はそれを引き起こす可能性のあるものについてのポインタを探しています。

デフォルトではこれを行っていない理由を私は一生理解できません。

どこを見るべきかについてのご意見ありがとうございます。

役に立ちましたか?

解決

私はいつも同じことに気づきましたが、私が見つけた限り、それはSerializationクラスが実装された方法に過ぎません。彼らは単に自己終了タグを使用しないことを選択しました。これが将来の実装で変更されることを願っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top