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

◆ WritePrimitiveValue()

bool System.Xml.Serialization.ReflectionXmlSerializationWriter.WritePrimitiveValue ( TypeDesc typeDesc,
object o,
bool isElement,
out string stringValue )
inlineprivate

Definition at line 942 of file ReflectionXmlSerializationWriter.cs.

943 {
944 if (typeDesc == ReflectionXmlSerializationReader.StringTypeDesc || typeDesc.FormatterName == "String")
945 {
947 return true;
948 }
949 if (!typeDesc.HasCustomFormatter)
950 {
952 return true;
953 }
954 if (o is byte[] && typeDesc.FormatterName == "ByteArrayHex")
955 {
956 stringValue = XmlSerializationWriter.FromByteArrayHex((byte[])o);
957 return true;
958 }
959 if (o is DateTime)
960 {
961 if (typeDesc.FormatterName == "DateTime")
962 {
963 stringValue = XmlSerializationWriter.FromDateTime((DateTime)o);
964 return true;
965 }
966 if (typeDesc.FormatterName == "Date")
967 {
968 stringValue = XmlSerializationWriter.FromDate((DateTime)o);
969 return true;
970 }
971 if (typeDesc.FormatterName == "Time")
972 {
973 stringValue = XmlSerializationWriter.FromTime((DateTime)o);
974 return true;
975 }
977 }
978 if (typeDesc == ReflectionXmlSerializationReader.QnameTypeDesc)
979 {
980 stringValue = FromXmlQualifiedName((XmlQualifiedName)o);
981 return true;
982 }
983 if (o is string)
984 {
985 switch (typeDesc.FormatterName)
986 {
987 case "XmlName":
988 stringValue = XmlSerializationWriter.FromXmlName((string)o);
989 break;
990 case "XmlNCName":
991 stringValue = XmlSerializationWriter.FromXmlNCName((string)o);
992 break;
993 case "XmlNmToken":
994 stringValue = XmlSerializationWriter.FromXmlNmToken((string)o);
995 break;
996 case "XmlNmTokens":
997 stringValue = XmlSerializationWriter.FromXmlNmTokens((string)o);
998 break;
999 default:
1000 stringValue = null;
1001 return false;
1002 }
1003 return true;
1004 }
1005 if (o is char && typeDesc.FormatterName == "Char")
1006 {
1007 stringValue = XmlSerializationWriter.FromChar((char)o);
1008 return true;
1009 }
1010 if (!(o is byte[]))
1011 {
1013 }
1014 stringValue = null;
1015 return false;
1016 }
static string XmlInternalError
Definition SR.cs:1812
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string XmlInternalErrorDetails
Definition SR.cs:1814
Definition SR.cs:7
string? FromXmlQualifiedName(XmlQualifiedName? xmlQualifiedName)

References System.Xml.Serialization.ReflectionXmlSerializationWriter.ConvertPrimitiveToString(), System.SR.Format(), System.Xml.Serialization.XmlSerializationWriter.FromByteArrayHex(), System.Xml.Serialization.XmlSerializationWriter.FromChar(), System.Xml.Serialization.XmlSerializationWriter.FromDate(), System.Xml.Serialization.XmlSerializationWriter.FromDateTime(), System.Xml.Serialization.XmlSerializationWriter.FromTime(), System.Xml.Serialization.XmlSerializationWriter.FromXmlName(), System.Xml.Serialization.XmlSerializationWriter.FromXmlNCName(), System.Xml.Serialization.XmlSerializationWriter.FromXmlNmToken(), System.Xml.Serialization.XmlSerializationWriter.FromXmlNmTokens(), System.Xml.Serialization.XmlSerializationWriter.FromXmlQualifiedName(), System.Xml.Serialization.ReflectionXmlSerializationReader.QnameTypeDesc, System.Xml.Serialization.ReflectionXmlSerializationReader.StringTypeDesc, System.SR.XmlInternalError, and System.SR.XmlInternalErrorDetails.

Referenced by System.Xml.Serialization.ReflectionXmlSerializationWriter.WriteMember(), System.Xml.Serialization.ReflectionXmlSerializationWriter.WritePrimitive(), and System.Xml.Serialization.ReflectionXmlSerializationWriter.WriteText().