【发布时间】:2017-03-06 17:41:25
【问题描述】:
循环浏览 Xamarin.Forms android 项目中的联系人时出现以下错误
“'System.Collections.Generic.IEnumerable1[Xamarin.Contacts.Contact]' cannot be used for return type 'System.Linq.IQueryable1[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 权限
【问题讨论】:
-
我认为您可以尝试在源代码中包含github.com/xamarin/Xamarin.Mobile 并进行一些调试...
标签: xamarin.android xamarin.forms xamarin.mobile