Método de extensión para obtener el nombre de la propiedad

Tengo un método de extensión para obtener el nombre de la propiedad como

public static string Name<T>(this Expression<Func<T>> expression)
{
    MemberExpression body = (MemberExpression)expression.Body;
    return body.Member.Name;
}

Lo llamo como

string Name = ((Expression<Func<DateTime>>)(() => this.PublishDateTime)).Name();

Esto funciona bien y me devuelvePublishDateTime&nbsp;como cuerda.

Sin embargo, tengo un problema con la declaración de llamada, parece demasiado complejo y quiero algo como esto.

this.PublishDateTime.Name()

¿Alguien puede modificar mi método de extensión?