在我的班级“Server.cs”中,我想从表单访问文本框。我尝试使用此代码:
ServerWindow.WriteChatlog(encoder.GetString(message, 0, bytesRead));
但我收到了这个错误:
An object reference is required for the non-static field, method, or property 'Chat_Server.ServerWindow.WriteChatlog(string)
ServerWindows.WriteChatlog(字符串文本)如下所示:
public void WriteChatlog(string text)
{
textBox1.Text += text + Environment.NewLine;
}
现在我尝试直接从我使用ServerWindow.WriteChatlog方法的地方开始,但它没有用。
它们都是非静态的
答案 0 :(得分:5)
您需要在WriteChatLog
课程的实例上调用ServerWindow
。例如:
ServerWindow servwin = new ServerWindow();
servwin.WriteChatlog(encoder.GetString(message, 0, bytesRead));
答案 1 :(得分:1)
您必须使用this.WriteChatlog(...)
或WriteChatlog(...)
。这假设您正在从表单的代码中调用代码。
答案 2 :(得分:0)
当您致电ServerWindow
时,您没有ServerWindow.WriteChatlog
的实际实例。该方法需要是静态的:public static void WriteChatlog(string text)
或者您需要ServerWindow的实例:ServerWindow serverWindow = new ServerWindow()
我怀疑前者是您实际需要的。
就像Console上没有实例方法一样 - 一切都是静态的。