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

◆ WriteCreateCollection()

void System.Xml.Serialization.XmlSerializationReaderCodeGen.WriteCreateCollection ( TypeDesc td,
string source )
inlineprivate

Definition at line 766 of file XmlSerializationReaderCodeGen.cs.

767 {
768 bool useReflection = td.UseReflection;
769 string text = ((td.ArrayElementTypeDesc == null) ? "object" : td.ArrayElementTypeDesc.CSharpName) + "[]";
770 bool flag = td.ArrayElementTypeDesc != null && td.ArrayElementTypeDesc.UseReflection;
771 if (flag)
772 {
773 text = typeof(Array).FullName;
774 }
775 base.Writer.Write(text);
776 base.Writer.Write(" ");
777 base.Writer.Write("ci =");
778 base.Writer.Write("(" + text + ")");
779 base.Writer.Write(source);
780 base.Writer.WriteLine(";");
781 base.Writer.WriteLine("for (int i = 0; i < ci.Length; i++) {");
782 base.Writer.Indent++;
783 base.Writer.Write(base.RaCodeGen.GetStringForMethod("c", td.CSharpName, "Add", useReflection));
784 if (!flag)
785 {
786 base.Writer.Write("ci[i]");
787 }
788 else
789 {
790 base.Writer.Write(base.RaCodeGen.GetReflectionVariable(typeof(Array).FullName, "0") + "[ci , i]");
791 }
792 if (useReflection)
793 {
794 base.Writer.WriteLine("}");
795 }
796 base.Writer.WriteLine(");");
797 base.Writer.Indent--;
798 base.Writer.WriteLine("}");
799 }

References System.Xml.Dictionary, System.FullName, System.source, and System.text.

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