C #: Używanie generiki do tworzenia tablicy wskaźników

Po południu wszystko,

mała pomoc, jeśli chcesz. Aby ominąć ograniczenie obiektu 2Gb w .NET, stworzyłem klasę, która przydziela pamięć na stercie, co pozwala mi tworzyć tablice do limitu mojej wolnej pamięci RAM. Jednak dla ułatwienia rozwoju (ponieważ był to dowód koncepcji) był on zakodowany na długi czas. Teraz, kiedy to działa, próbowałem zmienić kod, aby używać generycznych, więc mogę używać tego samego kodu dla wielu typów.

Przydzielając pamięć i poprawnie indeksując tablicę, potrzebuję tablicy wskaźników tego samego typu, które będzie przechowywać tablica, tzn. Potrzebuje długiej tablicylong*[] myLargeArray. Problem polega na tym, że używam generycznych deklaracjiT*[] myLargeArray, który zawsze powoduje błąd„Nie można pobrać adresu, uzyskać rozmiaru lub zadeklarować wskaźnika do typu zarządzanego („ T ”)”

Z góry dziękuję.

PS Zanim ktokolwiek zapyta, tak naprawdę potrzebuję tak dużych tablic.

Przykład kodu dla tablicy 2D:


    LargeArray <int> myArray = new LargeArray<int>(x, y);

    public unsafe class LargeArray where T : struct
    {
        ...
        private T*[] tArr;
        ...
        public LargeArray(long sizeI, long sizeJ)
        {
            ...
            myLargeArray = new T*[sizeI];
            ...
        }
    }

questionAnswers(2)

yourAnswerToTheQuestion