KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Afternoon all, a little help if you please. In order to circumvent the 2Gb object limit in .NET I have made a class that allocates memory on the heap and this allows me to create arrays up to the limit of my free RAM. However, for ease of development (as it was a proof of concept) it was hard coded for longs. Now that it works I've been trying to alter the code to use generics so I can use the same code for multiple types. In allocating the memory and correctly index the array I need an array of pointers of the same type that the array will hold i.e. a long array needs long*[] myLargeArray . The problem is when I use generics this declaration becomes T*[] myLargeArray , which always produces the error 'Cannot take the address of, get the size of, or declare a pointer to a managed type ('T')' Thanks in advance. PS Before anyone asks, yes I really do need such large arrays. Code example for a 2D array: 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]; ... } }
Tags (comma-separated)
Save Edits
Cancel