Como fazer referência ao tipo de classe atual usando genéricos

Eu tenho uma classe base, com um método, onde eu gostaria de usar genéricos para forçar o codificador a usar uma expressão genérica na classe atual:

public class TestClass
{
    public void DoStuffWithFuncRef<T>(Expression<Func<T, object>> expression) where T : TestClass
        {
            this.DoStuffWithFuncRef(Property<T>.NameFor(expression));
        }
}

Agora, eu gostaria de forçar T a ser do tipo da classe instanciada, o que eu espero que faça com que o compilador C # entenda automaticamente o tipo genérico a ser usado. Por exemplo. Eu gostaria de evitar codificar o método doStuff abaixo, onde eu tenho que especificar o tipo correto - mas usar o método doStuffILikeButCannotGetToWork:

public class SubTestClass : TestClass
{
    public string AProperty { get; set; }

    public void doStuff()
    {
        this.DoStuffWithFuncRef<SubTestClass>(e => e.AProperty);
    }

    public void doStuffILikeButCannotGetToWork()
    {
        this.DoStuffWithFuncRef(e => e.AProperty);
    }
}

Isso é possível? Eu deveria estar fazendo isso de uma maneira diferente?

questionAnswers(1)

yourAnswerToTheQuestion