string GenerateGetStringValue (XmlTypeMapping typeMap, TypeData type, string value, bool isNullable)
{
if (type.SchemaType == SchemaTypes.Array) {
string str = GetStrTempVar ();
WriteLine ("string " + str + " = null;");
WriteLineInd ("if (" + value + " != null) {");
string res = GenerateWriteListContent (null, typeMap.TypeData, (ListMap)typeMap.ObjectMap, value, true);
WriteLine (str + " = " + res + ".ToString ().Trim ();");
WriteLineUni ("}");
return str;
}
else if (type.SchemaType == SchemaTypes.Enum) {
if (isNullable)
return "(" + value + ").HasValue ? " + GenerateGetEnumXmlValue (typeMap, "(" + value + ").Value") + " : null";
else
return GenerateGetEnumXmlValue (typeMap, value);
}
else if (type.Type == typeof (XmlQualifiedName))
return "FromXmlQualifiedName (" + value + ")";
else if (value == null)
return null;
else
return XmlCustomFormatter.GenerateToXmlString (type, value);
}