string GenerateReadListString (XmlTypeMapping typeMap, string values)
{
Type listType = typeMap.TypeData.Type;
ListMap listMap = (ListMap)typeMap.ObjectMap;
string itemType = ToCSharpFullName (listType.GetElementType());
string list = GetObTempVar ();
WriteLine (itemType + "[] " + list + ";");
string var = GetStrTempVar ();
WriteLine ("string " + var + " = " + values + ".Trim();");
WriteLineInd ("if (" + var + " != string.Empty) {");
string valueArray = GetObTempVar ();
WriteLine ("string[] " + valueArray + " = " + var + ".Split (' ');");
WriteLine (list + " = new " + GetArrayDeclaration (listType, valueArray + ".Length") + ";");
XmlTypeMapElementInfo info = (XmlTypeMapElementInfo)listMap.ItemInfo[0];
string index = GetNumTempVar ();
WriteLineInd ("for (int " + index + " = 0; " + index + " < " + valueArray + ".Length; " + index + "++)");
WriteLine (list + "[" + index + "] = " + GenerateGetValueFromXmlString (valueArray + "[" + index + "]", info.TypeData, info.MappedType, info.IsNullable) + ";");
Unindent ();
WriteLineUni ("}");
WriteLine ("else");
WriteLine ("\t" + list + " = new " + GetArrayDeclaration (listType, "0") + ";");
return list;
}