给定正确的“MagicName”(它类似于“CanSerialize”),以下代码将禁止空列表的xml.
这个神奇的名字是什么?
public class MyClass { public List<int> MyList{ get; set; } public bool MyListMagicName() { return MyList.Count != 0; } public MyClass() { MyList = new List<int>(); } }
解决方法
我指的是你所指的ShouldSerialize * PropertyName *方法命名约定,但是AFAIK这并不是指XML序列化,而是指Windows Forms中的组件属性序列化(反正我可能是错的).见:
http://msdn.microsoft.com/en-us/library/53b8022e%28VS.71%29.aspx
UPDATE.它似乎也适用于XML序列化,但它是一个未记录的功能:http://horacegoescoding.blogspot.com/2009/04/using-shouldserialize-for-conditional.html