gpt4 book ai didi

c# - 方法提前返回,未完成

转载 作者:太空宇宙 更新时间:2023-11-03 21:01:35 26 4
gpt4 key购买 nike

此方法永远不会通过 foreach 循环。无论我在它后面放什么,它都不会运行。即使 book 对象中没有联系人对象,它也不应该跳过其余代码。这被用于我正在开发的应用程序中的联系人选择器,关于这里发生的事情有什么想法吗?谢谢

public class UserContactService : IUserContactService
{
public List<Contact> GetContacts()
{
List<Contact> contacts = new List<Contact>();
var book = new Xamarin.Contacts.AddressBook();
Console.WriteLine("Before loop");
foreach (Contact c in book)
{
contacts.Add(c);
}
Console.WriteLine(DateTime.Now);
return contacts;
}
}

最佳答案

使用 Xamarin,您需要先检查用户是否已授予访问通讯录的权限,否则您的 foreach 会出错(因为通讯录永远不会包含联系人)。

要获得应用用户的权限,您也可以在 Xamarin 中执行此操作:

if (!await book.RequestPermission()) {
Console.WriteLine("Permission denied by user or manifest");
return;
}

我还会将您的 foreach 包装在 try/catch 中以获取额外的错误消息等:

try {      
foreach (Contact c in book)
{
contacts.Add(c);
}
} catch (Exception ex) {
Console.WriteLine(ex);
}

有关 Xmarin Mobile 的更多信息,请点击此处:https://components.xamarin.com/view/xamarin.mobile

关于c# - 方法提前返回,未完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45075928/

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