C# ';agsXMPP.MessageGrabber';是一个';类型';但是像';变量';
代码如下:C# ';agsXMPP.MessageGrabber';是一个';类型';但是像';变量';,c#,C#,代码如下: XmppClientConnection xmpp = new XmppClientConnection(); xmpp.Server = "gmail.com"; xmpp.ConnectServer = "talk.google.com"; xmpp.Username = "aleksandr.gordon"; xmpp.Password = "password"; xmpp.Open();
XmppClientConnection xmpp = new XmppClientConnection();
xmpp.Server = "gmail.com";
xmpp.ConnectServer = "talk.google.com";
xmpp.Username = "aleksandr.gordon";
xmpp.Password = "password";
xmpp.Open();
agsXMPP.Jid JID = new Jid("thegabmeister1@gmail.com");
xmpp.MessageGrabber.Add(JID, new agsXMPP.Collections.BareJidComparer(), new MessageCB(xmpp.MessageGrabber), null);
agsXMPP.protocol.client.Message msg = new agsXMPP.protocol.client.Message();
msg.Type = agsXMPP.protocol.client.MessageType.chat;
msg.To = JID;
msg.Body = "how u doing" + DateTime.Now.ToString();
xmpp.OnLogin += delegate(object o) { xmpp.Send(msg); };
更新的新代码:
agsXMPP.Jid JID = new Jid("thegabmeister@gmail.com");
xmpp.MessageGrabber.Add(JID, new agsXMPP.Collections.BareJidComparer(),
new MessageCB(delegate(object sender, agsXMPP.protocol.client.Message msg, object data)
{
}), null);
agsXMPP.protocol.client.Message msg1 = new agsXMPP.protocol.client.Message();
msg1.Type = agsXMPP.protocol.client.MessageType.chat;
msg1.To = JID;
msg1.Body = "how u doing" + DateTime.Now.ToString();
xmpp.OnLogin += delegate(object o) { xmpp.Send(msg1); };
我做错什么了?为什么我会犯这个错误
new MessageCB(MessageGrabber)
应该是:
new MessageCB(xmpp.MessageGrabber)
至于你做错了什么,你使用的类型是agsXMPP.MessageGrabber,就像一个变量一样,它不会编译。你可能需要传递一个委托方法,尝试将这个方法添加到你的代码中
void Login() {
XmppClientConnection xmpp = new XmppClientConnection();
xmpp.Server = "gmail.com";
xmpp.ConnectServer = "talk.google.com";
xmpp.Username = "aleksandr.gordon";
xmpp.Password = "password";
xmpp.Open();
agsXMPP.Jid JID = new Jid("thegabmeister1@gmail.com");
xmpp.MessageGrabber.Add(JID, new agsXMPP.Collections.BareJidComparer(), new MessageCB(GrabMessage), null);
agsXMPP.protocol.client.Message msg = new agsXMPP.protocol.client.Message();
msg.Type = agsXMPP.protocol.client.MessageType.chat;
msg.To = JID;
msg.Body = "how u doing" + DateTime.Now.ToString();
xmpp.OnLogin += delegate(object o) { xmpp.Send(msg); };
}
protected void GrabMessage(object sender, agsXMPP.protocol.client.Message msg, object data) {
}
这是我能建议的最后一件事,但上述方法可以解决您的问题,除非您在其他地方有其他问题:
xmpp.MessageGrabber.Add(JID, new agsXMPP.Collections.BareJidComparer(),
new MessageCB(delegate(object sender, agsXMPP.protocol.client.Message msg, object data) {
if (msg.Body != null) {
MessageBox.Show(msg.Body);
}
}), null);
谢谢,我刚试过,但没用,结果还是一样error@...? - 如果双击Visual Studio中的错误,它会将您直接带到有问题的语句,作为该类中的一个方法-您可能希望将其重命名为不同的
xmpp.MessageGrabber.Add(JID,new agsXMPP.Collections.BareJidComparer(),new MessageCB(),null)代码>修改了我的答案,让您有一个更好的想法…看看这是否适用于您错误1“agsXMPP.XmppClientConnection”不包含“GrabMessage”的定义,并且找不到接受类型为“agsXMPP.XmppClientConnection”的第一个参数的扩展方法“GrabMessage”(是否缺少using指令或程序集引用?)如果你向下滚动到“发送和接收消息”,你将看到如何实现它-与我写的相同,但该网站可能会让你更好地理解。看起来很不错,但我认为应该有一个简单的解决方案来解决我的问题