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;
        }
示例#2
0
        public string GetReference(object context, object value)
        {
            PersonReference p = (PersonReference)value;

            _people[p.Id] = p;

            return(p.Id.ToString());
        }
示例#3
0
 public PreserveReferencesCallbackTestObject(string stringValue, int intValue, PersonReference p1, PersonReference p2, PersonReference p3)
 {
     _stringValue = stringValue;
     _intValue    = intValue;
     _person1     = p1;
     _person2     = p2;
     _person3     = p3;
 }
示例#4
0
        public bool IsReferenced(object context, object value)
        {
            PersonReference p = (PersonReference)value;

            return(_people.ContainsKey(p.Id));
        }