Monodroid .jar绑定问题

时间:2013-01-30 15:44:53

标签: facebook binding xamarin.android xamarin

我正在尝试使用Facebook SDK修复一些绑定错误。我有两个在同一个类中具有相同名称“setPermissions”的函数。 IntPtr绑定生成器生成的Monodroid为每个id_setPermissions_Ljava_util_List_创建相同的变量名称。我需要通过将其中一个函数更改为其他名称来解决此问题,以便绑定生成器不会创建相同的变量名。

在找出我需要在Metadata.xml文件中设置的内容时,我陷入了困境。到目前为止我有这个:

<attr path="/api/package[@name='com.facebook']/class[@name='Session.OpenRequest']/method[@name='setPermissions']" name="managedName">OpenRequestSetPermission</attr>

上述行的问题会将两个函数命名为相同,而不是修复我对生成的static IntPtr id_setPermissions_Ljava_util_List_;

的问题

他们有不同的返回类型,但我不知道在Metadata.xml中确定一个函数对另一个函数是否有任何帮助。

1 个答案:

答案 0 :(得分:0)

有一些方法可以通过名称和签名来确定功能。 例如,如果你有功能

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>

也许有办法通过返回类型过滤函数,遗憾的是我不知道。