private void OnDeserializedMethod(StreamingContext context) { if (_serializationInfo == null) { return; } _stringValue = _serializationInfo.GetString("stringValue"); _intValue = _serializationInfo.GetInt32("intValue"); _person1 = (PersonReference)_serializationInfo.GetValue( "person1", typeof(PersonReference) ); _person2 = (PersonReference)_serializationInfo.GetValue( "person2", typeof(PersonReference) ); _person3 = (PersonReference)_serializationInfo.GetValue( "person3", typeof(PersonReference) ); _parent = (PreserveReferencesCallbackTestObject)_serializationInfo.GetValue( "parent", typeof(PreserveReferencesCallbackTestObject) ); _serializationInfo = null; }
public string GetReference(object context, object value) { PersonReference p = (PersonReference)value; _people[p.Id] = p; return(p.Id.ToString()); }
public PreserveReferencesCallbackTestObject(string stringValue, int intValue, PersonReference p1, PersonReference p2, PersonReference p3) { _stringValue = stringValue; _intValue = intValue; _person1 = p1; _person2 = p2; _person3 = p3; }
public bool IsReferenced(object context, object value) { PersonReference p = (PersonReference)value; return(_people.ContainsKey(p.Id)); }