C# 如何在DataContractSerializer之后初始化私有字段
我知道可以使用DataContractSerializer序列化私有字段,但我只想保存最少量的数据,这些数据很容易被人工编辑。在DataContractSerializer完成其工作之后,是否有一个函数可以在DataContractSerializer类中重写或设置,该类在完成反序列化之后只设置私有字段C# 如何在DataContractSerializer之后初始化私有字段,c#,xml-serialization,datacontractserializer,C#,Xml Serialization,Datacontractserializer,我知道可以使用DataContractSerializer序列化私有字段,但我只想保存最少量的数据,这些数据很容易被人工编辑。在DataContractSerializer完成其工作之后,是否有一个函数可以在DataContractSerializer类中重写或设置,该类在完成反序列化之后只设置私有字段 [DataContract()] [KnownType(typeof(stateCom))] [KnownType(typeof(stateIp))] abstract public clas
[DataContract()]
[KnownType(typeof(stateCom))]
[KnownType(typeof(stateIp))]
abstract public class state
{
[DataMember()]
public string tag;
[DataMember()]
public byte Id;
public HandleConnection master;
// default data contstructor for xml serialization
public state()
{
}
public abstract void openPort();
public abstract void closePort();
}
您可以在类中创建例如
OnDeserialized
方法,并将其应用为:
[DataContract()]
[KnownType(typeof(stateCom))]
[KnownType(typeof(stateIp))]
abstract public class state
{
[DataMember()]
public string tag;
[DataMember()]
public byte Id;
public HandleConnection master;
// default data contstructor for xml serialization
public state()
{
}
public abstract void openPort();
public abstract void closePort();
[OnDeserialized]
internal void OnDeserialized(StreamingContext context)
{
// this is called after deserialization
}
}