У меня есть С# dll, которая имеет функцию
public static Int32[] remDup(Int32[] dArray){
return dArray.Distinct().toArray();
}
У меня есть функция jni для этого
JNIEXPORT remDup..... ( jintArray dupArray){
// from java call i get dupArray
CsharpDLL::CSharpClass::remDup(/*pass an int32 array */)
}
У меня есть функция java, которая вызывает функцию ниже, используя jni
remDup (Int[] array)
im вызов С# DLL из Java с помощью оболочки C++... я уже потратил половину дня, чтобы узнать, что передать jIntArray в функцию С# dll... но не удастся.. с полным R & D, насколько я могу doo.,
различные методы
т.е. array<System::Int32^)^ array, Marshal techniques
но все еще не могут передать массив из C++ (JintArray) в С# DLL.. PLZ help или guide
Решение состоит в том, чтобы создать новый cli :: array размера вашего jintArray, а затем использовать параметр for для установки всех элементов в новый массив и передать его функции С#.
http://msdn.microsoft.com/en-us/library/dtbydz1t.aspx
полезная ссылка
"cli::array<int,1>^"
не может использоваться для инициализации объекта типа"cli::array<System::Int32^,1>^ "