我所见过的有关使用Xamarin.iOS将C#暴露给JavaScriptCore的所有示例最终都需要JavaScript方法语法。
[Protocol]
interface IMyJSProtocol : IJSExport
{
[Export("foo")]
int Foo();
[Export("bar:With:")]
NSObject BarWith(NSObject arg1, NSObject arg2);
}
为简便起见,我省略了实现该协议的NSObject
派生类。
从JavaScript中,分别通过o.foo()
和o.barWith(x, y)
调用这些方法。
我一直无法使用没有括号的o.foo
字段语法。
我认为这很简单:
[Protocol]
interface IMyJSProtocol : IJSExport
{
[Export("baz")]
int Baz { get; set; }
}
但是这不起作用-它引发异常。
将C#属性公开为JavaScript字段的正确方法是什么?