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

◆ WritePrimitive()

void System.Xml.Serialization.XmlSerializationWriterCodeGen.WritePrimitive ( string method,
string name,
string ns,
object defaultValue,
string source,
TypeMapping mapping,
bool writeXsiType,
bool isElement,
bool isNullable )
inlineprivate

Definition at line 210 of file XmlSerializationWriterCodeGen.cs.

211 {
212 TypeDesc typeDesc = mapping.TypeDesc;
213 bool flag = defaultValue != null && defaultValue != DBNull.Value && mapping.TypeDesc.HasDefaultSupport;
214 if (flag)
215 {
216 if (mapping is EnumMapping)
217 {
218 base.Writer.Write("if (");
219 if (mapping.TypeDesc.UseReflection)
220 {
221 base.Writer.Write(base.RaCodeGen.GetStringForEnumLongValue(source, mapping.TypeDesc.UseReflection));
222 }
223 else
224 {
225 base.Writer.Write(source);
226 }
227 base.Writer.Write(" != ");
228 if (((EnumMapping)mapping).IsFlags)
229 {
230 base.Writer.Write("(");
231 string[] array = ((string)defaultValue).Split((char[]?)null);
232 for (int i = 0; i < array.Length; i++)
233 {
234 if (array[i] != null && array[i].Length != 0)
235 {
236 if (i > 0)
237 {
238 base.Writer.WriteLine(" | ");
239 }
240 base.Writer.Write(base.RaCodeGen.GetStringForEnumCompare((EnumMapping)mapping, array[i], mapping.TypeDesc.UseReflection));
241 }
242 }
243 base.Writer.Write(")");
244 }
245 else
246 {
247 base.Writer.Write(base.RaCodeGen.GetStringForEnumCompare((EnumMapping)mapping, (string)defaultValue, mapping.TypeDesc.UseReflection));
248 }
249 base.Writer.Write(")");
250 }
251 else
252 {
254 }
255 base.Writer.WriteLine(" {");
256 base.Writer.Indent++;
257 }
258 base.Writer.Write(method);
259 base.Writer.Write("(");
261 if (ns != null)
262 {
263 base.Writer.Write(", ");
265 }
266 base.Writer.Write(", ");
267 if (mapping is EnumMapping)
268 {
269 WriteEnumValue((EnumMapping)mapping, source);
270 }
271 else
272 {
274 }
275 if (writeXsiType)
276 {
277 base.Writer.Write(", new System.Xml.XmlQualifiedName(");
279 base.Writer.Write(", ");
281 base.Writer.Write(")");
282 }
283 base.Writer.WriteLine(");");
284 if (flag)
285 {
286 base.Writer.Indent--;
287 base.Writer.WriteLine("}");
288 }
289 }
void WritePrimitiveValue(TypeDesc typeDesc, string source, bool isElement)
void WriteCheckDefault(TypeMapping mapping, string source, object value, bool isNullable)

References System.Xml.Serialization.TypeDesc.TypeDesc(), System.array, System.Xml.Dictionary, System.Xml.Schema.Length, System.source, System.Xml.Serialization.XmlSerializationWriterCodeGen.WriteCheckDefault(), System.Xml.Serialization.XmlSerializationWriterCodeGen.WriteEnumValue(), System.Xml.Serialization.XmlSerializationWriterCodeGen.WritePrimitiveValue(), and System.Xml.Serialization.XmlSerializationCodeGen.WriteQuotedCSharpString().

Referenced by System.Xml.Serialization.XmlSerializationWriterCodeGen.WriteAttribute(), and System.Xml.Serialization.XmlSerializationWriterCodeGen.WriteElement().