我经常得到这个错误,并且(总是)不知道如何解决它。 这次我也得到了它,似乎我不理解一个概念或遗漏一些东西 这是代码
// create a new twitteroo core with provided username/password
TwitterooCore core = new TwitterooCore(username, password);
// request friends timeline from twitter
Users users = core.GetTimeline(Timeline.Friends); // error here
请一些帮助以及对正在发生的事情的一些解释 感谢
答案 0 :(得分:3)
我终于找到了问题 这是因为我的防火墙似乎阻止了与Visual Studio的连接。 现在它可以完全没有任何变化:) 感谢您的支持
答案 1 :(得分:2)
这个错误是一种痛苦,它基本上意味着你正在访问的一些可用性仍然是空的。
在这种情况下,您在哪里初始化时间轴?你的代码应该是这样的:
Users users = core.GetTimeline().Friends;
好的,我一直在看twiteroo文档,它有点稀疏,我认为你肯定需要实例化一个Timeline实例传递给GetTimeline,(它返回一个用户集合,名字不是很好恕我直言)。我无法弄清楚如何启动时间轴实例。
好吧,时间线不是空的,(这是一个枚举!)所以正如bthb所说,它只能是核心,也许用户名或密码错误,或者它无法连接到推特?
答案 2 :(得分:1)
如果您反编译dll,您将看到GetTimeline(Enum)接受Enumeration参数。
构造函数调用没问题:
TwitterooCore core = new TwitterooCore(username, password);
来源:
public TwitterooCore(string username, string password)
{
this._username = username;
this._password = password;
}
GetTimeline是尝试连接的。
public Users GetTimeline(Timeline timeline)
{
WebClient client = new WebClient();
XmlDocument document = new XmlDocument();
string xml = string.Empty;
byte[] buffer = null;
client.set_Credentials(this.GetCredentials());
buffer = client.DownloadData(this.GetTimelineUrl(timeline));
xml = Encoding.UTF8.GetString(buffer);
document.LoadXml(xml);
return this.DecodeStatusXml(document);
}
答案 3 :(得分:1)
它可能是核心,用户名,密码或Timeline.Friends,无法通过您提供给我们的信息知道哪些。
答案 4 :(得分:1)
如果我是你,我会在错误的行上设置一个断点,然后在Timeline.Friends上查看并检查它是否为null,如果不是那么就把表放在core.GetTimeline(Timeline.Friends)上看看那些返回null。
它应该给你一个正确方向的推动,你可能必须阅读你使用的twitter API的文档,以找出其中任何一个返回null的原因。
答案 5 :(得分:1)
如何检查您的代码:
Users users = null; if (Timeline != null) { TwitterooCore core = new TwitterooCore(username, password); if (core != null) { var friends = Timeline.Friends if (friends != null) users = core.GetTimeline(Timeline.Friends); } }
如果没有例外,其中一个对象可能为空。
答案 6 :(得分:1)
错误消息中有两个特定短语,对象引用和对象实例。在处理OOP语言时,这些概念非常基础。
首先,可以将对象引用视为函数或类中的变量。该术语还可以指期望对对象的特定引用的函数参数。最初,变量的值为NULL,直到使用'='运算符将其设置为值。通常,您将在同一语句中使用变量声明和“=”操作。
术语对象实例是指使用语法new
创建的对象。当您调用new
来初始化对象时,会分配一个未使用的内存位置来存储该对象的副本,直到该程序结束,或者该对象超出范围并被垃圾回收器释放。在创建时,对象属性由调用以创建对象的构造函数方法定义。
考虑以下代码:
Integer my_int;
my_int = new Integer(5);
在此示例中,“my_int”是正在创建的Integer
对象实例的对象引用。
如果您尝试访问“my_int”,在为其分配对Integer
实例的引用之前,则会出现错误,“对象引用(my_int)未设置为对象的实例(Integer
)“。
答案 7 :(得分:0)
可能是Timeline.Friends为null,可能是Timeline为null。我建议你查看异常的堆栈跟踪和twitter框架的文档。