or que um método de membro não pode ser passado para um construtor de classe bas

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()
    {
    }
}

O compilador fornece um erro "É necessário um objeto para o campo, método ou propriedade não estática 'Project.Namespace.Class.GiveDumbLook'.

Isso não é diferente de passar uma ação como parâmetro para qualquer outro método. Por que isso é inválido?

Edita Ótimas respostas. Obrigado a todos. Acho que isso me confunde, porque parece que é o lado oposto da moeda deessa questã; onde a resposta mais votada declara claramente

Um objeto C # é totalmente construído e inicializado como zero antes da execução do primeiro construto

Por essa declaração, parece que o código acima deve funcionar. Aparentemente, há uma diferença sutil.

questionAnswers(7)

yourAnswerToTheQuestion