您好我正在使用twitterizer获取经过身份验证的用户的好友列表。 在一些成功迭代的while循环之后。当我调用ResponseObject.NextPage时,我得到一个invalidcastexception。我很难过为什么我得到错误。谁能明白为什么?
以下代码。
List<String> GetFriends(OAuthTokens tokens)
{
var result = new List<String>();
TwitterResponse<TwitterUserCollection> friendsResponse = TwitterFriendship.Friends(tokens);
if (friendsResponse.Result != RequestResult.Success)
{
return new List<string> {friendsResponse.ErrorMessage};
}
TwitterUserCollection friends = friendsResponse.ResponseObject;
while (friends != null)
{
result.AddRange(friends.Select(x => x.Name));
var y = friends.NextPage(); //ERROR HERE
friendsResponse = y;
if (friendsResponse.Result != RequestResult.Success)
{
return new List<string> {friendsResponse.ErrorMessage};
}
friends = friendsResponse.ResponseObject;
}
return result;
}
答案 0 :(得分:1)
如果这可能会有所帮助,我发现在读取纬度或经度设置为整数值(没有任何“。”)的地理坐标时出现此异常。
转换为double引发了异常,所以我在Methods \ Geo \ Coordinate.cs中更改了这部分源代码:
if (count % 2 > 0)
{
result.Add(new Coordinate());
result[itemIndex].Latitude = (double)reader.Value;
}
else
{
result[itemIndex].Longitude = (double)reader.Value;
}
到
if (count % 2 > 0)
{
result.Add(new Coordinate());
result[itemIndex].Latitude = System.Convert.ToDouble(reader.Value);
}
else
{
result[itemIndex].Longitude = System.Convert.ToDouble(reader.Value);
}
并且没有例外......
答案 1 :(得分:0)
这看起来像一个bug ... NextPage将从Twitterizer http://forums.twitterizer.net/viewtopic.php?f=9&t=475的下一个版本中删除