예제 #1
0
 public void AddToCollection(object input, object item, XmlSerializationContext context)
 {
     if (!context.IsOppositeSet(input, this))
     {
         try
         {
             var collection = GetValue(input, context);
             PropertyType.AddToCollection(collection, item);
             context.BlockOpposite(item, this);
         }
         catch (InvalidCastException e)
         {
             throw new Exception($"The element {item} cannot be added to the property {ElementName} of {input} because the types do not match.", e);
         }
     }
 }
예제 #2
0
 public override void OnResolveIdentifiedObject(object instance, XmlSerializationContext context)
 {
     Property.AddToCollection(Target, instance, context);
 }
예제 #3
0
 public abstract void OnResolveIdentifiedObject(object instance, XmlSerializationContext context);
예제 #4
0
 public abstract void SetValue(object obj, object value, XmlSerializationContext context);
예제 #5
0
 public abstract object GetValue(object obj, XmlSerializationContext context);