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

◆ WriteExtensionData()

void System.Runtime.Serialization.XmlWriterDelegator.WriteExtensionData ( IDataNode dataNode)
inlinepackageinherited

Definition at line 382 of file XmlWriterDelegator.cs.

383 {
384 bool flag = true;
385 Type dataType = dataNode.DataType;
386 switch (Type.GetTypeCode(dataType))
387 {
388 case TypeCode.Boolean:
389 WriteBoolean(((DataNode<bool>)dataNode).GetValue());
390 break;
391 case TypeCode.Char:
392 WriteChar(((DataNode<char>)dataNode).GetValue());
393 break;
394 case TypeCode.Byte:
395 WriteUnsignedByte(((DataNode<byte>)dataNode).GetValue());
396 break;
397 case TypeCode.Int16:
398 WriteShort(((DataNode<short>)dataNode).GetValue());
399 break;
400 case TypeCode.Int32:
401 WriteInt(((DataNode<int>)dataNode).GetValue());
402 break;
403 case TypeCode.Int64:
404 WriteLong(((DataNode<long>)dataNode).GetValue());
405 break;
406 case TypeCode.Single:
407 WriteFloat(((DataNode<float>)dataNode).GetValue());
408 break;
409 case TypeCode.Double:
410 WriteDouble(((DataNode<double>)dataNode).GetValue());
411 break;
412 case TypeCode.Decimal:
413 WriteDecimal(((DataNode<decimal>)dataNode).GetValue());
414 break;
415 case TypeCode.DateTime:
416 WriteDateTime(((DataNode<DateTime>)dataNode).GetValue());
417 break;
418 case TypeCode.String:
419 WriteString(((DataNode<string>)dataNode).GetValue());
420 break;
421 case TypeCode.SByte:
422 WriteSignedByte(((DataNode<sbyte>)dataNode).GetValue());
423 break;
424 case TypeCode.UInt16:
425 WriteUnsignedShort(((DataNode<ushort>)dataNode).GetValue());
426 break;
427 case TypeCode.UInt32:
428 WriteUnsignedInt(((DataNode<uint>)dataNode).GetValue());
429 break;
430 case TypeCode.UInt64:
431 WriteUnsignedLong(((DataNode<ulong>)dataNode).GetValue());
432 break;
433 default:
434 if (dataType == Globals.TypeOfByteArray)
435 {
436 WriteBase64(((DataNode<byte[]>)dataNode).GetValue());
437 }
438 else if (dataType == Globals.TypeOfObject)
439 {
440 object value = dataNode.Value;
441 if (value != null)
442 {
444 }
445 }
446 else if (dataType == Globals.TypeOfTimeSpan)
447 {
448 WriteTimeSpan(((DataNode<TimeSpan>)dataNode).GetValue());
449 }
450 else if (dataType == Globals.TypeOfGuid)
451 {
452 WriteGuid(((DataNode<Guid>)dataNode).GetValue());
453 }
454 else if (dataType == Globals.TypeOfUri)
455 {
456 WriteUri(((DataNode<Uri>)dataNode).GetValue());
457 }
458 else if (dataType == Globals.TypeOfXmlQualifiedName)
459 {
460 WriteQName(((DataNode<XmlQualifiedName>)dataNode).GetValue());
461 }
462 else
463 {
464 flag = false;
465 }
466 break;
467 }
468 if (!flag)
469 {
470 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(CreateInvalidPrimitiveTypeException(dataType));
471 }
472 }
virtual void WriteQName(XmlQualifiedName value)

References System.Runtime.Serialization.XmlWriterDelegator.CreateInvalidPrimitiveTypeException(), System.Runtime.Serialization.IDataNode.DataType, System.Type.GetTypeCode(), System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(), System.Runtime.Serialization.Globals.TypeOfByteArray, System.Runtime.Serialization.Globals.TypeOfGuid, System.Runtime.Serialization.Globals.TypeOfObject, System.Runtime.Serialization.Globals.TypeOfTimeSpan, System.Runtime.Serialization.Globals.TypeOfUri, System.Runtime.Serialization.Globals.TypeOfXmlQualifiedName, System.value, System.Runtime.Serialization.DataNode< T >.Value, System.Runtime.Serialization.XmlWriterDelegator.WriteAnyType(), System.Runtime.Serialization.XmlWriterDelegator.WriteBase64(), System.Runtime.Serialization.XmlWriterDelegator.WriteBoolean(), System.Runtime.Serialization.XmlWriterDelegator.WriteChar(), System.Runtime.Serialization.XmlWriterDelegator.WriteDateTime(), System.Runtime.Serialization.XmlWriterDelegator.WriteDecimal(), System.Runtime.Serialization.XmlWriterDelegator.WriteDouble(), System.Runtime.Serialization.XmlWriterDelegator.WriteFloat(), System.Runtime.Serialization.XmlWriterDelegator.WriteGuid(), System.Runtime.Serialization.XmlWriterDelegator.WriteInt(), System.Runtime.Serialization.XmlWriterDelegator.WriteLong(), System.Runtime.Serialization.XmlWriterDelegator.WriteQName(), System.Runtime.Serialization.XmlWriterDelegator.WriteShort(), System.Runtime.Serialization.XmlWriterDelegator.WriteSignedByte(), System.Runtime.Serialization.XmlWriterDelegator.WriteString(), System.Runtime.Serialization.XmlWriterDelegator.WriteTimeSpan(), System.Runtime.Serialization.XmlWriterDelegator.WriteUnsignedByte(), System.Runtime.Serialization.XmlWriterDelegator.WriteUnsignedInt(), System.Runtime.Serialization.XmlWriterDelegator.WriteUnsignedLong(), System.Runtime.Serialization.XmlWriterDelegator.WriteUnsignedShort(), and System.Runtime.Serialization.XmlWriterDelegator.WriteUri().