Вы можете реализовать метод ShouldSerializeAddress
, чтобы решить, следует ли сериализовать свойство Address:
public bool ShouldSerializeAddress()
{
return Address != null
&& !String.IsNullOrEmpty(Address.street)
&& !String.IsNullOrEmpty(Address.town);
}
Если метод существует с этой подписью, сериализатор вызовет его перед сериализацией свойства.
Кроме того, вы можете реализовать свойство AddressSpecified
, которое играет ту же роль:
public bool AddressSpecified
{
get
{
return Address != null
&& !String.IsNullOrEmpty(Address.street)
&& !String.IsNullOrEmpty(Address.town);
}
}