带有Realm的Xamarin.iOS中的动态类型

问题描述 投票:0回答:1

我有一个API,其中键的值可以是int,string或dictionary。

我使用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)

谷歌搜索这导致我this评论说,iOS上不允许动态关键字,因为不允许JIT编译。

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

c# .net xamarin.ios realm
1个回答
0
投票

Realm weaver仅支持已知类型的子集

  • 的ByteArray
  • 字节
  • INT16
  • 来吧
  • Int64的
  • 布尔
  • 的DateTimeOffset
  • 以及上面的可空变体

如此定义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更改为已知类型之一

© www.soinside.com 2019 - 2024. All rights reserved.