Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ WriteMemberFixupBegin()

bool System.Xml.Serialization.XmlSerializationReaderCodeGen.WriteMemberFixupBegin ( Member[] members,
string fixupMethodName,
string source )
inlineprivate

Definition at line 1892 of file XmlSerializationReaderCodeGen.cs.

1893 {
1894 int num = 0;
1895 foreach (Member member in members)
1896 {
1897 if (member.Mapping.Elements.Length != 0)
1898 {
1899 TypeMapping mapping = member.Mapping.Elements[0].Mapping;
1900 if (mapping is StructMapping || mapping is ArrayMapping || mapping is PrimitiveMapping || mapping is NullableMapping)
1901 {
1902 member.MultiRef = true;
1903 member.FixupIndex = num++;
1904 }
1905 }
1906 }
1907 if (num > 0)
1908 {
1909 base.Writer.Write("Fixup fixup = new Fixup(");
1910 base.Writer.Write(source);
1911 base.Writer.Write(", ");
1912 base.Writer.Write("new ");
1914 base.Writer.Write("(this.");
1915 base.Writer.Write(fixupMethodName);
1916 base.Writer.Write("), ");
1917 base.Writer.Write(num.ToString(CultureInfo.InvariantCulture));
1918 base.Writer.WriteLine(");");
1919 base.Writer.WriteLine("AddFixup(fixup);");
1920 return true;
1921 }
1922 return false;
1923 }
static CultureInfo InvariantCulture
delegate void XmlSerializationFixupCallback(object fixup)

References System.Xml.Dictionary, System.Xml.Serialization.AccessorMapping.Elements, System.FullName, System.Globalization.CultureInfo.InvariantCulture, System.Xml.Serialization.Accessor.Mapping, System.Xml.Serialization.XmlSerializationReaderCodeGen.Member.Mapping, System.source, and System.Xml.Serialization.XmlSerializationFixupCallback().

Referenced by System.Xml.Serialization.XmlSerializationReaderCodeGen.GenerateEncodedMembersElement(), and System.Xml.Serialization.XmlSerializationReaderCodeGen.WriteEncodedStructMethod().