>我有一个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
更改为已知类型之一