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
{
member.SetValue(ob, value);
}
if (member.IsOptionalValueType)
{
member.SetValueSpecified(ob, true);
}
}