Xamarin.iOS with Realm 中的动态类型



>我有一个API,其中键的值可以是int,字符串或字典。

我使用 object 关键字作为值的类型,它工作正常。

但是一旦我实现了Realm编译器就给了我一个错误。

Error: Fody/RealmWeaver: MyClass.Value is a 'System.Object' which is not yet supported.

好的,所以object不支持Realm.然后我尝试使用dynamic关键字作为类型。我收到以下错误。

Missing compiler required member 'Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create' (CS0656)

谷歌搜索这让我看到了这条评论,它说 iOS 上不允许动态关键字,因为不允许 JIT 编译

那么在这种情况下该怎么办呢?

Realm Weaver 只支持已知类型的子集

  • 字符串
  • 字节数组
  • 字节
  • 国际16
  • 国际32
  • 国际64
  • 布尔
  • 日期时间偏移量
  • 以及上述的可为空的变体

如此处所定义 https://github.com/realm/realm-dotnet/blob/master/Weaver/RealmWeaver.Fody/ModuleWeaver.cs#L34

所以你正在陷入这个例外https://github.com/realm/realm-dotnet/blob/master/Weaver/RealmWeaver.Fody/ModuleWeaver.cs#L481

因此,您需要将MyClass.Value更改为已知类型之一

最新更新