Ошибка привязки библиотеки: как заставить метод возвращать массив IDictionary ? - PullRequest
0 голосов
/ 16 января 2020

Я получаю сообщение об ошибке при импорте файла .aar для интеграции со службой машины.

Мой вопрос соответствует названию.

Этот код я пытаюсь получить. :

[Register ("getSlots", "()[Ljava/util/HashMap;", "")]
public unsafe global::System.Collections.Generic.IDictionary<string,byte[]>[] GetSlots()
{
    const string __id = "getSlots.()[Ljava/util/HashMap;";
    try {
        var __rm = _members.InstanceMethods.InvokeNonvirtualObjectMethod (__id, this, null);
        return (global::System.Collections.Generic.IDictionary<string,byte[]>[])
                  JNIEnv.GetArray(__rm.Handle,JniHandleOwnership.TransferLocalRef,
                                  typeof (global::System.Collections.Generic.IDictionary<string,byte[]>));
        }
    finally {
    }
}

Вот код, который я получаю:

[Register ("getSlots", "()[Ljava/util/HashMap;", "")]
        public unsafe global::System.Collections.Generic.IDictionary <string, byte[]>GetSlots ()
        {
            const string __id = "getSlots.()[Ljava/util/HashMap;";
            try {
                var __rm = _members.InstanceMethods.InvokeNonvirtualObjectMethod (__id, this, null);
                return (global::System.Collections.Generic.IDictionary<string, byte[]>[]) JNIEnv.GetArray (__rm.Handle, JniHandleOwnership.TransferLocalRef, typeof (global::System.Collections.Generic.IDictionary<string, byte[]>));
            } finally {
            }
        }

Мне нужен метод, который возвращает массив IDictionary <string, byte[]>[], но я получаю IDictionary <string, byte[]>

Это код в метаданных. xml

<attr path="/api/package[@name='br.com.uol.pagseguro.plugpagservice.wrapper']/class[@name='PlugPagNFCResult']/method[@name='getSlots' and count(parameter)=0]" name="managedReturn">System.Collections.Generic.IDictionary &lt;string, byte[]&gt;</attr>

Но каждый раз, когда я пишу "[]", после ">" он не образует массив !

Не могли бы вы помочь мне с этим?

...