Попробуй это:

я есть следующая структура:

abstract class Base {
        public abstract List<...> Get(); //What should be the generic type?
}

class SubOne : Base {
    public override List<SubOne> Get() {

    }
}

class SubTwo : Base {
    public override List<SubTwo> Get() {

    }
}

Я хочу создать абстрактный метод, который возвращает любой класс, к которому относится конкретный подкласс. Итак, как видно из примера, метод вSubOne должен вернутьсяList<SubOne> тогда как метод вSubTwo должен вернутьсяList<SubTwo>.

Какой тип указывать в подписи, объявленной в базовом классе?

[ОБНОВИТЬ]

Спасибо за опубликованные ответы.

Решение состоит в том, чтобы сделать абстрактный класс универсальным, например:

abstract class Base<T> {
        public abstract List<T> Get();
}

class SubOne : Base<SubOne> {
    public override List<SubOne> Get() {

    }
}

class SubTwo : Base<SubTwo> {
    public override List<SubTwo> Get() {

    }
} 

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

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