Obtener atributo de propiedad anulado

Tengo un atributo personalizado como este:

public class PropertyInfoAttribute : Attribute
{
    public bool IsAutoComplete { get; set; }
}

Y hay una clase como esta:

public class Article
{
    public virtual int Order { get; set; }
    //other properties
}

En otra clase, que se hereda de un artículo, anulo la propiedad Orden y declaro el atributo de esta manera:

public class ArticleDetails : Article
{
    [PropertyInfo(IsAutoCompele = true)]
    public override int Order { get; set; }
}

El problema aparece cuando quiero obtener atributos utilizando el método GetCustomAttributes en la clase PropertyInfo. Lo hago así:

PropertyInfo propInfo = //do something for getting property info from the
                        //ArticleDetails class;

var attr = propInfo.GetCustomAttribute<PropertyInfoAttribute>();

¡Pero no devuelve nada! ¡No sé por qué!

ACTUALIZAR:

Obtengo información de la propiedad en este método:

    public static void InitPropertyInfoAttribute<TModel, TProperty>(MvcHtmlString source, Expression<Func<TModel, TProperty>> expression)
    {
        PropertyInfo propInfo = (expression.Body as MemberExpression).Member as PropertyInfo;
    }

Respuestas a la pregunta(2)

Su respuesta a la pregunta