public new void RegisterXmlEnclosedElementList(string enclosingElementName, IQXSerializer elementSerializer, QXElementListSelector <T> selector, QXContentIntegrator <T> integrator) => base.RegisterXmlEnclosedElementList(enclosingElementName, elementSerializer, selector, integrator);
protected void RegisterXmlEnclosedElementList(string enclosingElementName, IQXSerializer elementSerializer, QXElementListSelector <T> selector, QXContentIntegrator <T> integrator) { object listSelector(T parent) { return(selector(parent)); } void listIntegrator(T parent, object deserializedChild) { foreach (object item in (IEnumerable <object>)deserializedChild) { integrator(parent, item); } } QXEnclosedListSerializer listSerializer = new QXEnclosedListSerializer(enclosingElementName, elementSerializer); this.RegisterXmlElement(listSerializer, listSelector, listIntegrator); this.SetElementProcessingMode(enclosingElementName, QXProcessingMode.IgnoreIfEmpty); }
public new void RegisterXmlElementList(IQXSerializer elementSerializer, QXElementListSelector <T> selector, QXContentIntegrator <T> integrator) => base.RegisterXmlElementList(elementSerializer, selector, integrator);
protected void RegisterXmlElementList(IQXSerializer elementSerializer, QXElementListSelector <T> selector, QXContentIntegrator <T> integrator) { if (_ElementInfoCollection.Contains(elementSerializer.XmlElementName)) { throw new Exception("The serializer for element \"" + elementSerializer.XmlElementName + "\" has already been registered to the parent serializer."); } _ElementInfoCollection.Add(new QXElementInfo <T>(elementSerializer) { ContentSelector = selector, ContentIntegrator = integrator, ElementType = QXElementType.List }); }