Usando genéricos em classes abstratas

Estou trabalhando em uma classe abstrata em que a classe de implementação precisa implementar uma lista de T. O problema é que isso não funciona:

public class AbstractClass
{
    public int Id { get; set; }
    public int Name { get; set; }

    public abstract List<T> Items { get; set; }
}

public class Container : AbstractClass
{
    public List<Widgets> Items { get; set; }
}

Tenho certeza de que há uma resposta óbvia que está faltando e sei que posso criar um tipo de base abstrato para colocar na lista, mas quando uso meu comando Linq para criar a lista, o tipo de resumo (ItemBase ) não funciona bem com o método .ToList (). O que estou tentando fazer é único?

questionAnswers(7)

yourAnswerToTheQuestion