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 回答