更名为;“参数”;Android版Mono的Java绑定库中的参数?

更名为;“参数”;Android版Mono的Java绑定库中的参数?,mono,xamarin.android,bugsense,Mono,Xamarin.android,Bugsense,我试图为BugSense创建一个Java绑定库,但其中一个方法有一个名为“params”的参数,它是C#中的一个保留字。我尝试使用Metadata.xml文件对其进行重命名,但我不知道如何访问该类,更不用说方法或其参数了 下面是它生成的问题代码: namespace Com.Bugsense.Trace { [global::Android.Runtime.Register ("com/bugsense/trace/ActivityAsyncTask", DoNotGenerateAcw=tr

我试图为BugSense创建一个Java绑定库,但其中一个方法有一个名为“params”的参数,它是C#中的一个保留字。我尝试使用Metadata.xml文件对其进行重命名,但我不知道如何访问该类,更不用说方法或其参数了

下面是它生成的问题代码:

namespace Com.Bugsense.Trace {

[global::Android.Runtime.Register ("com/bugsense/trace/ActivityAsyncTask", DoNotGenerateAcw=true)]
internal partial class ActivityAsyncTaskInvoker : ActivityAsyncTask {

    static IntPtr id_doInBackground_arrayLjava_lang_Object_;
    [Register ("doInBackground", "([Ljava/lang/Object;)Ljava/lang/Object;", "GetDoInBackground_arrayLjava_lang_Object_Handler")]
    protected override global::Java.Lang.Object DoInBackground (global::Java.Lang.Object[] params)
    {
        if (id_doInBackground_arrayLjava_lang_Object_ == IntPtr.Zero)
            id_doInBackground_arrayLjava_lang_Object_ = JNIEnv.GetMethodID (class_ref, "doInBackground", "([Ljava/lang/Object;)Ljava/lang/Object;");
        IntPtr native_params = JNIEnv.NewArray (params);
        global::Java.Lang.Object __ret = Java.Lang.Object.GetObject<global::Java.Lang.Object> (JNIEnv.CallObjectMethod  (Handle, id_doInBackground_arrayLjava_lang_Object_, new JValue (native_params)), JniHandleOwnership.TransferLocalRef);
        if (params != null) {
            JNIEnv.CopyArray (native_params, params);
            JNIEnv.DeleteLocalRef (native_params);
        }
        return __ret;
    }
}
}
namespace Com.Bugsense.Trace{
[全局::Android.Runtime.Register(“com/bugsense/trace/ActivityAsyncTask”,DoNotGenerateAcw=true)]
内部分部类ActivityAsyncTaskInvoker:ActivityAsyncTask{
静态IntPtr id_doInBackground_arrayLjava_lang_Object_;
[寄存器(“doInBackground”,([Ljava/lang/Object;)Ljava/lang/Object;,“GetDoInBackground\u arrayLjava\u lang\u Object\u Handler”)]
受保护的覆盖全局::Java.Lang.Object DoInBackground(全局::Java.Lang.Object[]参数)
{
if(id_doInBackground_arrayLjava_lang_Object_==IntPtr.Zero)
id_doInBackground_arrayLjava_lang_Object_=JNIEnv.GetMethodID(class_ref,“doInBackground”,“([Ljava/lang/Object;)Ljava/lang/Object;”;
IntPtr native_params=JNIEnv.NewArray(params);
全局::Java.Lang.Object _uret=Java.Lang.Object.GetObject(JNIEnv.CallObjectMethod(句柄,id_doInBackground_arrayLjava_Lang_Object,新JValue(本机参数)),JNIHandleOwnery.TransferLocalRef);
如果(参数!=null){
JNIEnv.CopyArray(本机参数,参数);
JNIEnv.DeleteLocalRef(本机参数);
}
返回-返回;
}
}
}
这是我的地图,我觉得应该有用,但就是拒绝

<attr path="/api/package[@name='com.bugsense.trace']/class[@name='ActivityAsyncTaskInvoker']/method[@name='doInBackground']/parameter[@name='params']" name="managedName">@params</attr>
@params

我已经尝试了我能想到的一切。请帮忙!

所以,这只是Android版Mono的一个bug。如果你更新到4.2.4版本,这是测试版,一切都可以编译。我可以否决一条评论吗?::叹气::你能将BugSense绑定到MonoDroid吗?然后你想分享代码吗?