System.Xml.Serialization.SoapSchemaExporter.ExportElementAccessors C# (CSharp) Method

ExportElementAccessors() private method

private ExportElementAccessors ( XmlSchemaGroupBase group, ElementAccessor accessors, bool repeats, bool valueTypeOptional, string ns ) : void
group System.Xml.Schema.XmlSchemaGroupBase
accessors ElementAccessor
repeats bool
valueTypeOptional bool
ns string
return void
        void ExportElementAccessors(XmlSchemaGroupBase group, ElementAccessor[] accessors, bool repeats, bool valueTypeOptional, string ns) {
            if (accessors.Length == 0) return;
            if (accessors.Length == 1) {
                ExportElementAccessor(group, accessors[0], repeats, valueTypeOptional, ns);
            }
            else {
                XmlSchemaChoice choice = new XmlSchemaChoice();
                choice.MaxOccurs = repeats ? decimal.MaxValue : 1;
                choice.MinOccurs = repeats ? 0 : 1;
                for (int i = 0; i < accessors.Length; i++)
                    ExportElementAccessor(choice, accessors[i], false, valueTypeOptional, ns);

                if (choice.Items.Count > 0) group.Items.Add(choice);
            }
        }