¿Por qué no se puede pasar un método miembro a un constructor de clase base?

class Flarg
{
    private readonly Action speak;

    public Action Speak
    {
        get
        {
            return speak;
        }
    }

    public Flarg(Action speak)
    {
        this.speak = speak;
    }
}

class MuteFlarg : Flarg
{
    public MuteFlarg() : base(GiveDumbLook)
    {
    }

    private void GiveDumbLook()
    {
    }
}

El compilador da un error "Se requiere un objeto para el campo, método o propiedad no estático 'Project.Namespace.Class.GiveDumbLook'.

Esto no parece diferente a pasar una acción como parámetro a cualquier otro método. ¿Por qué esto no es válido?

Edita Grandes respuestas. Gracias a todos. Supongo que esto solo me confunde, porque parece que es el lado opuesto de la moneda deesta pregunt; donde la respuesta más votada indica claramente

Un objeto C # está completamente construido e inicializado a cero antes de que se ejecute el primer constructor.

Por esa declaración, parece que el código anterior debería funcionar. Aparentemente hay una sutil diferencia.

Respuestas a la pregunta(7)

Su respuesta a la pregunta