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

◆ WriteNullableMethod()

void System.Xml.Serialization.XmlSerializationReaderCodeGen.WriteNullableMethod ( NullableMapping nullableMapping)
inlineprivate

Definition at line 1194 of file XmlSerializationReaderCodeGen.cs.

1195 {
1196 string s = (string)base.MethodNames[nullableMapping];
1197 bool useReflection = nullableMapping.BaseMapping.TypeDesc.UseReflection;
1198 string s2 = (useReflection ? "object" : nullableMapping.TypeDesc.CSharpName);
1199 base.Writer.WriteLine();
1200 base.Writer.Write(s2);
1201 base.Writer.Write(" ");
1202 base.Writer.Write(s);
1203 base.Writer.WriteLine("(bool checkType) {");
1204 base.Writer.Indent++;
1205 base.Writer.Write(s2);
1206 base.Writer.Write(" o = ");
1207 if (useReflection)
1208 {
1209 base.Writer.Write("null");
1210 }
1211 else
1212 {
1213 base.Writer.Write("default(");
1214 base.Writer.Write(s2);
1215 base.Writer.Write(")");
1216 }
1217 base.Writer.WriteLine(";");
1218 base.Writer.WriteLine("if (ReadNull())");
1219 base.Writer.Indent++;
1220 base.Writer.WriteLine("return o;");
1221 base.Writer.Indent--;
1222 ElementAccessor elementAccessor = new ElementAccessor();
1224 elementAccessor.Any = false;
1225 elementAccessor.IsNullable = nullableMapping.BaseMapping.TypeDesc.IsNullable;
1226 WriteElement("o", null, null, elementAccessor, null, null, checkForNull: false, readOnly: false, -1, -1);
1227 base.Writer.WriteLine("return o;");
1228 base.Writer.Indent--;
1229 base.Writer.WriteLine("}");
1230 }
void WriteElement(string source, string arrayName, string choiceSource, ElementAccessor element, ChoiceIdentifierAccessor choice, string checkSpecified, bool checkForNull, bool readOnly, int fixupIndex, int elementIndex)

References System.Xml.Dictionary, System.s, and System.Xml.Serialization.XmlSerializationReaderCodeGen.WriteElement().

Referenced by System.Xml.Serialization.XmlSerializationReaderCodeGen.GenerateBegin(), and System.Xml.Serialization.XmlSerializationReaderCodeGen.GenerateMethod().