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

◆ WriteHandleHrefList()

void System.Xml.Serialization.XmlSerializationReaderCodeGen.WriteHandleHrefList ( Member[] members,
string listSource )
inlineprivate

Definition at line 2973 of file XmlSerializationReaderCodeGen.cs.

2974 {
2975 base.Writer.WriteLine("int isObjectIndex = 0;");
2976 base.Writer.Write("foreach (object obj in ");
2977 base.Writer.Write(listSource);
2978 base.Writer.WriteLine(") {");
2979 base.Writer.Indent++;
2980 base.Writer.WriteLine("bool isReferenced = true;");
2981 base.Writer.Write("bool isObject = (bool)");
2982 base.Writer.Write(listSource);
2983 base.Writer.WriteLine("IsObject[isObjectIndex++];");
2984 base.Writer.WriteLine("object refObj = isObject ? obj : GetTarget((string)obj);");
2985 base.Writer.WriteLine("if (refObj == null) continue;");
2986 base.Writer.Write(typeof(Type).FullName);
2987 base.Writer.WriteLine(" refObjType = refObj.GetType();");
2988 base.Writer.WriteLine("string refObjId = null;");
2989 WriteMemberElementsIf(members, null, "isReferenced = false;", "refObj");
2990 base.Writer.WriteLine("if (isObject && isReferenced) Referenced(refObj); // need to mark this obj as ref'd since we didn't do GetTarget");
2991 base.Writer.Indent--;
2992 base.Writer.WriteLine("}");
2993 }
void WriteMemberElementsIf(Member[] members, Member anyElement, string elementElseString, string checkTypeSource)

References System.Xml.Dictionary, System.FullName, and System.Xml.Serialization.XmlSerializationReaderCodeGen.WriteMemberElementsIf().

Referenced by System.Xml.Serialization.XmlSerializationReaderCodeGen.GenerateEncodedMembersElement().