gpt4 book ai didi

c# - Xamarin 表单中的 Realm : Another "rhs of the binary operator ' Equal' should be a constant or closure variable expression"issue

转载 作者:行者123 更新时间:2023-11-30 15:19:47 25 4
gpt4 key购买 nike

<分区>

我想将一个 Realm 集合转换到一个列表中,然后投影它。但是,这样做会立即触发错误。我收到的错误类似于 this问题,还有this ,但似乎是由于不同的(未知)原因而发生的,因为这两个问题的答案似乎不适用于我的情况(我使用的是较新版本的 Realm,并且我没有使用属性访问器调用谓词 lambda)。

我正在使用我的 Realm 收藏转换到不同的类型。我知道当前版本的 Realm (0.81.0) 不支持 .Select() 所以我调用 .ToList() 然后投影。堆栈跟踪显示异常的来源是 .ToList() 调用。

我的代码:

private void BuildAndApplyBindingContext(int listId)
{
realm.All<MemberInventoryItem>()
.Where(i => i.InventoryListId == listId)
.ToList()
.Select(i => new ItemListEntryViewModel {
Id = i.InventoryItemId,
Type = i.IsAcquired ? InventoryType.Item : InventoryType.UnacquiredListItem,
Name = i.Item,
IsAcquired = i.IsAcquired,
SubText = UiHelper.GetLocationString(i),
BadgeText = UiHelper.GetBadgeText(i),
ImageRef = UiHelper.SetMissingImage(i.ImageUrl),
ExpiresDate = i.ExpiresDate,
ShowNoticeText = i.ExpiresDate < DateTime.Now
}).OrderBy(i => i.Name)
.ToList()
};

...
}

我收到以下错误:

System.NotSupportedException: The rhs of the binary operator 'Equal' should be a constant or closure variable expression. 
Unable to process `Convert(value(Prepify.App.Pages.Inventory.ListDetail.DetailTab+<>c__DisplayClass7_0).listId)`

有一点需要注意,我不知道它是否重要,但是我的 .Where() 子句中的属性 InventoryListIdint 类型?。这有关系吗?

在 Forms/Android 上使用 Realm Xamarin v0.81.0

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com