protected override void OnContextUpdated(ISerializationContext <XmlSerializationContextInfo> context) { base.OnContextUpdated(context); var parentContext = context?.Parent; Debug.Assert(!ReferenceEquals(context, parentContext)); var parentKnownTypes = parentContext?.Context?.KnownTypes; if (parentKnownTypes != null) { // Note: sometimes Catel re-uses the types, but in that case the types won't be added // as duplicates anyway KnownTypes.AddRange(parentKnownTypes); } }
/// <summary> /// Constructor /// </summary> public Serializer(IListSafe <Type> knownTypes) : base() { { KnownTypes.AddRange(knownTypes); } }