首页 > 解决方案 > 在 Android 原生 AAR 上嵌入 .NET 库的属性和操作

问题描述

我正在将现有的 Xamarin.Android .NET 库添加到本机 Android Studio 项目中。我正在遵循https://docs.microsoft.com/en-us/xamarin/tools/dotnet-embedding/上的指示,一切正常,但我有一个问题不是 Java 专家:是否也可以将我的库中存在的 C# 属性和操作(如ReturnAnyText)导出到 Java?

namespace export_test
{
    [Register("export_test.ClassToExport")]
    public class ClassToExport 
    {
        [Export("ClassToExport")]
        public ClassToExport()
        {
            // ...
        }

        [Export("DoSomething")]
        public void DoSomething()
        {
            // ...
        }

        public Action<string> ReturnAnyText { get; set;}
    }
}

标签: androidxamarinxamarin.androidembeddinator

解决方案


引擎盖下的属性只是 get_PropertyName() 和 set_PropertyName() 方法。所以是的,您也应该能够导出这些:

这看起来像:

public bool MyProp
{
    [Export]
    get;
    [Export]
    set;
}

或者,如果您想命名它们:

public bool MyProp
{
    [Export("GetMyProp")]
    get;
    [Export("SetMyProp")]
    set;
}

推荐阅读