Terraria v1.4.4.9
Terraria source code documentation
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros

◆ WriteAttributes()

void System.Xml.Serialization.ReflectionXmlSerializationReader.WriteAttributes ( Member[] members,
Member anyAttribute,
UnknownNodeAction elseCall,
ref object o )
inlineprivate

Definition at line 1645 of file ReflectionXmlSerializationReader.cs.

1646 {
1647 Member member = null;
1649 foreach (Member member2 in members)
1650 {
1651 if (member2.Mapping.Xmlns != null)
1652 {
1653 member = member2;
1654 break;
1655 }
1656 }
1657 while (base.Reader.MoveToNextAttribute())
1658 {
1659 bool flag = false;
1660 foreach (Member member3 in members)
1661 {
1662 if (member3.Mapping.Xmlns != null || member3.Mapping.Ignore)
1663 {
1664 continue;
1665 }
1666 AttributeAccessor attribute = member3.Mapping.Attribute;
1667 if (attribute != null && !attribute.Any)
1668 {
1670 flag = ((!attribute.IsSpecialXmlNamespace) ? XmlNodeEqual(base.Reader, attribute.Name, (attribute.Form == XmlSchemaForm.Qualified) ? attribute.Namespace : string.Empty) : XmlNodeEqual(base.Reader, attribute.Name, "http://www.w3.org/XML/1998/namespace"));
1671 if (flag)
1672 {
1674 flag = true;
1675 break;
1676 }
1677 }
1678 }
1679 if (flag)
1680 {
1681 continue;
1682 }
1683 bool flag2 = false;
1684 if (member != null)
1685 {
1686 if (IsXmlnsAttribute(base.Reader.Name))
1687 {
1688 member.XmlnsSource((base.Reader.Name.Length == 5) ? string.Empty : base.Reader.LocalName, base.Reader.Value);
1689 }
1690 else
1691 {
1692 flag2 = true;
1693 }
1694 }
1695 else if (!IsXmlnsAttribute(base.Reader.Name))
1696 {
1697 flag2 = true;
1698 }
1699 if (flag2)
1700 {
1701 if (anyAttribute != null)
1702 {
1703 XmlAttribute attr = base.Document.ReadNode(base.Reader) as XmlAttribute;
1706 }
1707 else
1708 {
1709 elseCall(o);
1710 }
1711 }
1712 }
1713 }
void Add(TKey key, TValue value)

References System.Collections.Generic.Dictionary< TKey, TValue >.Add(), System.Xml.Dictionary, System.Xml.Serialization.XmlSerializationReader.IsXmlnsAttribute(), System.list, System.Xml.Serialization.XmlSerializationReader.ParseWsdlArrayType(), System.Xml.Serialization.ReflectionXmlSerializationReader.WriteAttribute(), System.Xml.Serialization.ReflectionXmlSerializationReader.XmlNodeEqual(), and System.Xml.Serialization.ReflectionXmlSerializationReader.Member.XmlnsSource.

Referenced by System.Xml.Serialization.ReflectionXmlSerializationReader.GenerateLiteralMembersElementInternal(), System.Xml.Serialization.ReflectionXmlSerializationReader.WriteEncodedStructMethod(), and System.Xml.Serialization.ReflectionXmlSerializationReader.WriteLiteralStructMethod().