循环访问 Xamarin.Forms android 项目中的联系人时出现以下错误
“'System.Collections.Generic.IEnumerable 1[Xamarin.Contacts.Contact]' cannot be used for return type 'System.Linq.IQueryable
1 [Xamarin.Contacts.Contact]' 类型的表达式”
有趣的是,我在 bugzilla 中发现了同样的错误,但没有提到解决方案。
有人可以帮我解决错误吗
https://bugzilla.xamarin.com/show_bug.cgi?id=35244
下面是方法:
public async Task<IEnumerable<MobileUserContact>> All()
{
if (_contacts != null) return _contacts;
var contacts = new List<MobileUserContact>();
try
{
if (!await _book.RequestPermission())
{
Console.WriteLine("Permission denied");
return;
}
foreach (Contact contact in _book.OrderBy(c => c.LastName))
{
Console.WriteLine("{0} {1}", contact.FirstName, contact.LastName);
contacts.Add(new MobileUserContact(contact.FirstName, contact.LastName, ""));
}
return contacts;
}
catch (Exception ex)
{
throw;
}
}
它正在使用 Xamarin.Mobile 0.7.1.0 版本的 dll
我已启用 Read_Contacts 权限