C #: использование универсального для создания массива указателей

Днем все,

небольшая помощь, пожалуйста. Чтобы обойти ограничение в 2 Гб в .NET, я создал класс, который распределяет память по куче, и это позволяет мне создавать массивы вплоть до предела моей свободной оперативной памяти. Однако, для простоты разработки (поскольку это было доказательством концепции), он был жестко запрограммирован на долгие годы. Теперь, когда это работает, я пытаюсь изменить код для использования обобщенных типов, чтобы я мог использовать один и тот же код для нескольких типов.

При распределении памяти и правильном индексировании массива мне нужен массив указателей того же типа, который будет содержать массив, т.е. нужен длинный массивlong*[] myLargeArray, Проблема в том, что когда я использую дженерики, эта декларация становитсяT*[] myLargeArray, который всегда выдает ошибку'Невозможно получить адрес, получить размер или объявить указатель на управляемый тип (' T ')'

Заранее спасибо.

PS Прежде чем кто-нибудь спросит, да мне действительно нужны такие большие массивы.

Пример кода для двумерного массива:


    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];
            ...
        }
    }

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

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