Как ссылаться на текущий тип класса, используя дженерики

У меня есть базовый класс с методом, в котором я хотел бы использовать обобщенные элементы, чтобы заставить кодировщика использовать обобщенное выражение для текущего класса:

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

Теперь я хотел бы заставить T иметь тип экземпляра класса, который, я надеюсь, заставит компилятор C # автоматически понимать универсальный тип для использования. Например. Я хотел бы избежать кодирования метода doStuff ниже, где я должен указать правильный тип - но лучше использовать метод 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);
    }
}

Это возможно? Должен ли я делать это по-другому?

Ответы на вопрос(1)

Ваш ответ на вопрос