[System.SerializableAttribute()]
public class Foo
{
private string myField;
private bool myFieldSerializes;
//Parameterless construction for serializing purposes
public Foo() { }
public Foo(string myField, bool myFieldSerializes)
{
this.myField = myField;
this.myFieldSerializes = myFieldSerializes;
}
public string MyField
{
get {return this.myField;}
set {this.myField = value;}
}
[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool MyFieldSerializes
{
get {return this.myFieldSerialzes;}
set {this.myFieldSerialzes = value;}
}
}
这是它应该如何工作:
>如果我创建一个实例并将myFieldSerializes设置为’true’,则在序列化对象时(使用XMLSerialize),必须序列化myField(包含在XML消息中).如果设置为’false’,则应忽略它.
>反序列化(使用XMLDeserialize)时,布尔值myFieldSerializes应告诉我myField是否已被反序列化(换句话说,它存在于XML文件中).
实现此行为的方法是什么?
谢谢!