我的表单中有一个列表框项,它从一个必须是静态的类更改。因此,我尝试将脚本放入不同的非静态类中:
private void addChat(string talk, string user)
{
console.Items.Add(user + ": " + talk);
}
从这里开始:
static void OnMessage(object sender, PlayerIOClient.Message m)
{
//Code...
string username = users[m.GetInt(0)]; //public static Dictionary<int, string> users = new Dictionary<int, string>();
addChat(m.GetString(1), username);
//More code...
}
但是我得到了这个错误:
非静态字段,方法或属性需要对象引用“NAME.Form1.addChat(string,string)&#39;
将此类设为静态会出现此错误:
非静态字段,方法或属性需要对象引用&#39; NAME.Form1.console&#39;
如何使控制台(哪个列表框)静止?
答案 0 :(得分:0)
不太确定你想要实现的目标。但是,通常您可以将静态逻辑移动到静态类并在UI类中使用它。
在您的静态课程中
private static string formatChat(string talk, string user)
{
string.Format("{0} : {1}", user, talk);
}
在您的UI类中:
private void addChat(string talk, string use)
{
console.Items.Add(formatChat(string talk, string use));
}