public virtual Type GetReturnType(XmlReader reader) { if (polymorphicTypeProvider == null) { return returnType; } return polymorphicTypeProvider.GetType(reader); }
protected override object CreateInstance(XmlReader reader, SerializationContext state) { if (listType.IsArray) { return new List<object>(); } else { return Activator.CreateInstance(serializationMemberInfo.GetReturnType(reader)); } }