コード例 #1
0
        protected Type GetEntityTypeForElement(PropertyDescriptor propDesc, XmlReader reader, XmlSerializerContext context)
        {
            Type type = context.GetTypeFromAttribute(reader);

            //obtengo el type de la propiedad...con esto se registra el alias
            TypeDescriptor desc = context.GetTypeDescriptor(propDesc.Metadata.PropertyType);

            //busco por la propiedad
            if (type == null)
            {
                type = propDesc.GetTypeFromElementName(reader.LocalName, context);
            }

            //busco por el alias...
            if (type == null)
            {
                if (context.Settings.IgnoreUnknowTypes)
                {
                    return(null);
                }
                else
                {
                    type = propDesc.Metadata.PropertyType;
                }
            }

            return(type);
        }