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

◆ WriteCheckDefault()

void System.Xml.Serialization.XmlSerializationWriterCodeGen.WriteCheckDefault ( TypeMapping mapping,
string source,
object value,
bool isNullable )
inlineprivate

Definition at line 1927 of file XmlSerializationWriterCodeGen.cs.

1928 {
1929 base.Writer.Write("if (");
1930 if (value is string && ((string)value).Length == 0)
1931 {
1932 base.Writer.Write("(");
1933 base.Writer.Write(source);
1934 if (isNullable)
1935 {
1936 base.Writer.Write(" == null) || (");
1937 }
1938 else
1939 {
1940 base.Writer.Write(" != null) && (");
1941 }
1942 base.Writer.Write(source);
1943 base.Writer.Write(".Length != 0)");
1944 }
1945 else if (value is double || value is float)
1946 {
1947 base.Writer.Write("!");
1948 base.Writer.Write(source);
1949 base.Writer.Write(".Equals(");
1950 Type type = Type.GetType(mapping.TypeDesc.Type.FullName);
1951 WriteValue((type != null) ? Convert.ChangeType(value, type) : value);
1952 base.Writer.Write(")");
1953 }
1954 else
1955 {
1956 base.Writer.Write(source);
1957 base.Writer.Write(" != ");
1958 Type type2 = Type.GetType(mapping.TypeDesc.Type.FullName);
1959 WriteValue((type2 != null) ? Convert.ChangeType(value, type2) : value);
1960 }
1961 base.Writer.Write(")");
1962 }

References System.Convert.ChangeType(), System.Xml.Dictionary, System.Type.GetType(), System.Xml.Schema.Length, System.source, System.type, System.value, and System.Xml.Serialization.XmlSerializationWriterCodeGen.WriteValue().

Referenced by System.Xml.Serialization.XmlSerializationWriterCodeGen.WritePrimitive(), and System.Xml.Serialization.XmlSerializationWriterCodeGen.WriteQualifiedNameElement().