Imported Upstream version 3.12.0

Former-commit-id: cf92446697332992ec36726e78eb8703e1f259d7
This commit is contained in:
Jo Shields
2015-01-13 10:44:36 +00:00
parent 8b9b85e7f5
commit 181b81b4a4
659 changed files with 12743 additions and 16300 deletions

View File

@ -505,7 +505,7 @@ namespace System.Xml.Serialization
XmlTypeMapMemberElement mem = (XmlTypeMapMemberElement) map.XmlTextCollector;
XmlTypeMapElementInfo info = (XmlTypeMapElementInfo) mem.ElementInfo [0];
if (info.TypeData.Type == typeof (string))
SetMemberValue (mem, ob, ReadString ((string) GetMemberValue (mem, ob, isValueList)), isValueList);
SetMemberValue (mem, ob, Reader.ReadString (), isValueList);
else
SetMemberValue (mem, ob, GetValueFromXmlString (Reader.ReadString(), info.TypeData, info.MappedType), isValueList);
}
@ -585,6 +585,10 @@ namespace System.Xml.Serialization
void SetMemberValue (XmlTypeMapMember member, object ob, object value, bool isValueList)
{
var memberType = member.TypeData.Type;
if (value != null && !value.GetType().IsAssignableFrom (memberType))
value = XmlSerializationWriterInterpreter.ImplicitConvert (value, memberType);
if (isValueList)
((object[])ob)[member.GlobalIndex] = value;
else