You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xamarin Android原生绑定冲突:AuthenticateEventArgs含p0重复定义(CS0102)

解决绑定原生SDK AAR时的CS0102冲突错误

问题原因

你遇到的CS0102错误是因为AuthenticateEventArgs类中存在同名成员冲突——绑定生成的类字段p0与构造函数参数p0在C#的大小写不敏感命名规则下重复,导致编译器报错。

解决方案

1. 通过Metadata.xml修改绑定规则(推荐)

在绑定项目的Metadata.xml文件中添加字段重命名规则,让绑定生成器自动替换冲突的字段名:

<attr path="/api/package[@name='com.sdk.listener']/class[@name='AuthenticateEventArgs']/field[@name='p0']" name="name">FingerprintReason</attr>
<attr path="/api/package[@name='com.sdk.listener']/class[@name='AuthenticateEventArgs']/field[@name='p1']" name="name">AuthSignature</attr>
<attr path="/api/package[@name='com.sdk.listener']/class[@name='AuthenticateEventArgs']/field[@name='p2']" name="name">FingerprintCallback</attr>

修改后重新生成绑定代码,生成的类会使用你指定的字段名,彻底避免冲突。

2. 手动修改生成的代码(临时方案)

如果需要快速修复,直接修改生成的AuthenticateEventArgs类,将冲突的小写字段名改为带前缀的名称,同时更新构造函数和属性的引用:

public partial class AuthenticateEventArgs : global::System.EventArgs {
    public AuthenticateEventArgs (global::Com.Sdk.Listener.FingerprintListenerReason p0, global::Java.Security.Signature p1, global::Com.Sdk.Callback.IFingerprintCallback p2)
    {
        this._fingerprintReason = p0;
        this._authSignature = p1;
        this._fingerprintCallback = p2;
    }

    global::Com.Sdk.Listener.FingerprintListenerReason _fingerprintReason;

    public global::Com.Sdk.Listener.FingerprintListenerReason P0 {
        get { return _fingerprintReason; }
    }

    global::Java.Security.Signature _authSignature;

    public global::Java.Security.Signature P1 {
        get { return _authSignature; }
    }

    global::Com.Sdk.Callback.IFingerprintCallback _fingerprintCallback;

    public global::Com.Sdk.Callback.IFingerprintCallback P2 {
        get { return _fingerprintCallback; }
    }
}

注意:手动修改的代码会在下次重新生成绑定时被覆盖,仅适合临时测试场景。

3. 调整绑定生成参数

检查绑定项目的生成设置,调整参数命名策略,避免生成p0、p1这类通用名称,从根源减少冲突概率。

内容的提问来源于stack exchange,提问作者helper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 09:30:24