0
我有以下實體基類標記爲可序列:如何在.net序列保留默認值
[Serializable]
public abstract class EntityBase
{
public bool Is_ActiveNull = true;
[XmlElement(ElementName = "Is_ActiveFromNull")]
...
我從基地實體繼承,然後具體的實體:
[Serializable]
public class ContactEntity : EntityBase
{
...
我有一個WCF服務,它使用此實體作爲合同中的輸入參數。
當我從客戶端創建服務引用時,它會創建一個reference.cs,它會忽略字段Is_ActiveNull的默認值。
這是reference.cs文件EntityBase類:
public partial class EntityBase : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
{
private bool Is_ActiveNullField;
[System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
public bool Is_ActiveNull {
get {
return this.Is_ActiveNullField;
}
set {
if ((this.Is_ActiveNullField.Equals(value) != true)) {
this.Is_ActiveNullField = value;
this.RaisePropertyChanged("Is_ActiveNull");
}
}
}
...
在這種情況下Is_ActiveNullField被默認設置爲false。
我的問題是如何保持默認值?
感謝
看來,這種解決方案只適用於DataContractSerializer。我正在使用XmlSerializer。這種類型的序列化還有解決方案嗎? – zosim 2012-07-11 08:12:52