Facebook Monodroid.jar绑定问题
我正在尝试修复Facebook SDK的一些绑定错误。我在同一个类中有两个同名的函数“setPermissions”。由Facebook Monodroid.jar绑定问题,facebook,binding,xamarin.android,xamarin,Facebook,Binding,Xamarin.android,Xamarin,我正在尝试修复Facebook SDK的一些绑定错误。我在同一个类中有两个同名的函数“setPermissions”。由Monodroid绑定生成器生成的IntPtr正在为每个id\u setPermissions\u Ljava\u util\u List\u创建相同的变量名。我需要通过将其中一个函数更改为不同的名称来修复此问题,以便绑定生成器不会创建相同的变量名 当我要弄清楚需要在Metadata.xml文件中设置什么时,我陷入了困境。到目前为止,我有: <attr path="/ap
Monodroid
绑定生成器生成的IntPtr
正在为每个id\u setPermissions\u Ljava\u util\u List\u创建相同的变量名。我需要通过将其中一个函数更改为不同的名称来修复此问题,以便绑定生成器不会创建相同的变量名
当我要弄清楚需要在Metadata.xml
文件中设置什么时,我陷入了困境。到目前为止,我有:
<attr path="/api/package[@name='com.facebook']/class[@name='Session.OpenRequest']/method[@name='setPermissions']" name="managedName">OpenRequestSetPermission</attr>
OpenRequestSetPermission
上面这一行的问题将使两个函数的名称相同,并且不会解决我在生成的static IntPtr id_setPermissions_Ljava_util_List_代码>
它们有不同的返回类型,但我不知道这是否有助于在元数据.xml
中确定一个函数而不是另一个函数。有一些方法可以通过名称和它的签名来确定一个函数。
例如,如果您有函数
int remove(int a);
int remove(int a, object b);
int remove(float a, object b);
你可以找到第二个
<attr path="/api/package[@name='org.mapsforge.android.maps.overlay']/class[@name='OverlayList']/method[@name='remove' and count(parameter)=2 and parameter[1][@type='int']]" name="managedReturn">Java.Lang.Object</attr>
Java.Lang.Object
也许有办法按返回类型过滤函数,遗憾的是我不知道。能否给出\obj\Debug\api.xml的适当片段这可能有助于找到区分函数的方法。