Tworzenie listy list w C #

Wydaje mi się, że mam problemy z owinięciem głowy wokół idei ogólnej listy list ogólnych w C #. Myślę, że problem wynika z użycia<T> argument, z którym nie mam doświadczenia. Czy ktoś mógłby podać krótki przykład deklarowania klasy, która jest Listą, która zawiera inną Listę, ale gdzie typ obiektu w niej zawartego nie jest od razu znany?

Czytałem dokumentację MS na temat Generics i nie jestem od razu pewien, czy mogę zadeklarować aList<List<T>>, ani jak dokładnie przekazać<T> parametr do wewnętrznej listy.

Edytuj: dodawanie informacji

Deklaracja aList<List<T>> być tu uważanym za legalnego? W przypadku, gdy zastanawiasz się, buduję klasę, która pozwala mi używać ulong jako indeksatora i (miejmy nadzieję) krąży wokół paskudnego 2 GB limitu .Net, utrzymując Listę list.

public class DynamicList64<T>
    {
        private List<List<T>> data = new List<List<T>>();

        private ulong capacity = 0;
        private const int maxnumberofitemsperlist = Int32.MaxValue;



        public DynamicList64()
        {
            data = new List<List<T>>();
        } 

questionAnswers(5)

yourAnswerToTheQuestion