Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何重命名Xamarin绑定库中的属性_C#_Xamarin - Fatal编程技术网

C# 如何重命名Xamarin绑定库中的属性

C# 如何重命名Xamarin绑定库中的属性,c#,xamarin,C#,Xamarin,我正在尝试为LineSDK(亚洲地区流行的SNS服务)构建一个android绑定库。我将SDK中的jar文件添加到我的项目中,但它无法编译,因为SDK的创建者恰好对类及其属性使用了相同的名称 这是项目从jar文件生成的C#代码的一部分 public partial class AccessToken : global::Java.Lang.Object { // Metadata.xml XPath field reference: path="/api/package[@name='j

我正在尝试为LineSDK(亚洲地区流行的SNS服务)构建一个android绑定库。我将SDK中的jar文件添加到我的项目中,但它无法编译,因为SDK的创建者恰好对类及其属性使用了相同的名称

这是项目从jar文件生成的C#代码的一部分

public partial class AccessToken : global::Java.Lang.Object {
    // Metadata.xml XPath field reference: path="/api/package[@name='jp.line.android.sdk.model']/class[@name='AccessToken']/field[@name='accessToken']"
    [Register ("accessToken")]
    public string AccessToken {
        get { /* ... */ }
        set { /* ... */ }
    }
//...
}
现在简单地说,我想知道如何重命名这个属性“AccessToken”。我尝试在Metadata.xml中添加一些命令,但没有效果。这是我写的一行参考资料

<attr path="/api/package[@name='jp.line.android.sdk.model']/class[@name='AccessToken']/field[@name='accessToken']" name="propertyName">AccessTokenString</attr>
AccessTokenString

如果有人能帮我,我将不胜感激。我在这里完全迷路了

我认为唯一的问题是“propertyName”应该是“name”:

AccessTokenString

@suavepirpirate的建议不会完全奏效(至少现在不会)

如果使用
名称
,它还会将
寄存器
属性参数重命名为
[寄存器(“AccessTokenString”)]
,而不是
[寄存器(“accessToken”)]
。因此,正如它所说的,Xamarin.Android绑定类将不再能够访问该属性,因为它没有绑定到现有的Java成员

要正确更改已包装成员的托管名称,必须设置
managedName
属性,即:

<attr path="/api/package[@name='jp.line.android.sdk.model']/class[@name='AccessToken']/field[@name='accessToken']" name="managedName">AccessTokenString</attr>
AccessTokenString

您是否有到绑定项目和/或
.jar的链接,以便更容易查看以前的属性?(即,它很可能是一种get/set方法)
<attr path="/api/package[@name='jp.line.android.sdk.model']/class[@name='AccessToken']/field[@name='accessToken']" name="managedName">AccessTokenString</attr>