Я использую Facebook C # SDK в приложении Canvas.
При запуске этого кода ...
public IEnumerable<string> GetFansIds(string pageId, IEnumerable<string> userIds)
{
if (userIds.Count() == 0)
return new List<string>();
var fb = new FacebookApp();
string query = String.Format("select uid from page_fan where uid IN ( {0} ) and page_id = {1}",
String.Join(",", userIds),
pageId
);
dynamic result = fb.Fql(query);
return result.Select((Func<dynamic, string>)(x => x.uid)).ToList();
}
Я получаю следующее исключение:
RuntimeBinderException: Cannot perform runtime binding on a null reference
Код выполняет следующие действия:
Он выполняет FQL-запрос, чтобы получить JsonArray
, содержащий JsonObject
каждый со свойством uid (содержащим идентификаторы пользователей, которые не являютсяфанат какой-то фан-страницы.
Select просто преобразует все динамические объекты в List<string>
FQL-часть просто работает правильно, как яЯ могу увидеть результаты в отладчике. Проблема с Select
в том, что я не могу заставить его работать.
Как я могу исправить динамическую лямбду ??? (Пожалуйста, не говорите мне простоиспользуйте foreach, что я сейчас и делаю сейчас)