0

嗨,我正在使用 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;
    }
4

2 回答 2

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);
}

没有更多的例外......

于 2011-05-23T10:11:35.003 回答
0

这看起来像一个错误... NextPage 将从 Twitterizer 的下一版本中删除http://forums.twitterizer.net/viewtopic.php?f=9&t=475

于 2011-03-15T10:19:46.630 回答