- : DataContract , ISerializable, ISerializable , DataContract
?
/
[DataContract]
class Person
{
public Person()
{
}
public Person(string firstName, string lastName):this()
{
this.FirstName = firstName;
this.LastName = LastName;
}
[DataMember]
public string FirstName {get;set;}
[DataMember]
public string LastName { get; set; }
}
[Serializable]
class SerializablePersonWrapper : ISerializable
{
SerializablePersonWrapper(SerializationInfo info,
StreamingContext context)
{
string fname = info.GetString("FName");
string lname = (string) info.GetValue("LName", typeof(string));
this.PersonItem = new Person(fname, lname);
}
public Person PersonItem {get;set;}
public void GetObjectData(SerializationInfo info,
StreamingContext context)
{
info.AddValue("FName", this.PersonItem.FirstName);
info.AddValue("LName", this.PersonItem.LastName);
}
}