private void InternalCallback(uint number, uint inputCount, uint outputCount, global::System.IntPtr inputs, global::System.IntPtr outputs)
{
int[] callbackInput = new int[inputCount];
int[] callbackOutput = new int[outputCount];
Callback(number, inputCount, outputCount, callbackInput, callbackOutput);
using (intArray inputArray = new intArray(inputs, false))
using (intArray outputArray = new intArray(outputs, false))
{
for (int i = 0; i < inputCount; i++)
{
inputArray.setitem(i, callbackInput[i]);
}
for (int i = 0; i < outputCount; i++)
{
outputArray.setitem(i, callbackOutput[i]);
}
}
}