C# 在类和窗体之间传输数据
长期读者,第一次海报: 我一直在尝试学习C#并编写一个游戏程序,但对于如何将数据从逻辑类传输到图形用户界面以及如何将数据从逻辑类传输到图形用户界面,我感到很困惑。传输字符串将是理想的,而且看起来非常简单,所以我希望有人能帮助我 在最基本的情况下,我想知道为什么这不起作用:C# 在类和窗体之间传输数据,c#,class,user-interface,nullreferenceexception,C#,Class,User Interface,Nullreferenceexception,长期读者,第一次海报: 我一直在尝试学习C#并编写一个游戏程序,但对于如何将数据从逻辑类传输到图形用户界面以及如何将数据从逻辑类传输到图形用户界面,我感到很困惑。传输字符串将是理想的,而且看起来非常简单,所以我希望有人能帮助我 在最基本的情况下,我想知道为什么这不起作用: namespace MyGame { public partial class GameWindow : Form { public LogicClass gameLogic;
namespace MyGame
{
public partial class GameWindow : Form
{
public LogicClass gameLogic;
public GameWindow()
{
InitializeComponent();
}
private void startButton_Click(object sender, EventArgs e)
{
string toDisplay = gameLogic.getString();
this.label1.Text = toDisplay;
}
}
还有游戏逻辑课
namespace MyGame
{
public class LogicClass
{
public string getString()
{
return "success!";
}
}
}
我已经试了几天,想弄清楚为什么我在第行得到一个nullReferenceException
string toDisplay = gameLogic.getString();
当然,这并不是我想做的事情的最终结果,但是如果有人能向我解释这里发生了什么,以及我如何将字符串从不同的类传递到GUI,我想我将能够在如何做我想做的其他事情上站稳脚跟。我已经看到了很多关于将数据从表单传输到其他表单的内容,但是我找不到我需要的关于类到表单的内容。我知道这是可以做到的;这太简单了,不可能。有人能帮我吗
谢谢!
Jake您的数据传输逻辑正常,出现异常的原因是gameLogic从未实例化。您可以替换
公共逻辑类gameLogic代码>带有公共LogicClass gameLogic=new LogicClass()代码>
或者添加gameLogic=newLogicClass()调用InitializeComponent()后,构造函数中的代码>。数据传输逻辑正常,出现异常的原因是gameLogic从未实例化。您可以替换公共逻辑类gameLogic代码>带有公共LogicClass gameLogic=new LogicClass()代码>
或者添加gameLogic=newLogicClass()调用InitializeComponent()后,在构造函数中使用code>。或者您可以将getstring
方法定义为Static
Public Static String getstring()
这将帮助您在不实例化类的情况下调用该方法。或者您可以将getstring
方法定义为Static
Public Static String getstring()
这将帮助您在不实例化类的情况下调用该方法。perfect。这正是我所缺少的。对不起,我是新手!完美的这正是我所缺少的。对不起,我是新手!