Getter不返回任何值
本文关键字:任何值 返回 Getter | 更新日期: 2023-09-27 18:04:11
我在使用setter和getter时遇到问题。当我试图将私有var从一个类调用到另一个类时,我没有得到var的值。下面是我的一些代码片段,供你们查看。
这是我为变量设置的getter。
class PlayerStats
private string _pName;
public string pName
{ get { return _pName; } set { _pName = value; } }
}
这是我想展示我的变种的地方
public void Welcome()
{
PlayerStats pStats = new PlayerStats();
Header();
Console.WriteLine("Hello!");
Console.WriteLine(pStats.pName);
}
这是我在var上插入值的方法(该方法在方法欢迎之前首先执行(
public void Username()
{
PlayerStats pStats = new PlayerStats();
string name;
Header();
Console.Write("'nChoose your USERNAME: ");
name = Console.ReadLine();
pStats.pName = name;
}
这些都不是从主方法运行的。我想通过在主方法中从不同的类中调用不同的方法来完成我的程序,所以它看起来有点像:
static void Main(string[] args)
{
Jobs jobCl = new Jobs();
GUI gui = new GUI();
gui.Header();
gui.StartPage();
gui.Username();
gui.ChoosepJob();
gui.Welcome();
Console.ReadLine();
}
当我从username方法调用var时,我打印它没有问题,但如果我要从其他方法调用它,我就无法打印它。
感谢您提供的任何帮助。此外,如果你能提出一种不同的方法,请毫不犹豫地告诉我
不要为每个方法创建一个新的PlayerStats
,在方法之外创建一次,然后将其传递给每个方法。您可能对Jobs
有同样的问题,并且可能需要将其传递给ChoosepJob
static void Main(string[] args)
{
PlayerStats pStats = new PlayerStats();
Jobs jobCl = new Jobs();
GUI gui = new GUI();
gui.Header();
gui.StartPage();
gui.Username(pStats);
gui.ChoosepJob(jobCl);
gui.Welcome(pStats);
Console.ReadLine();
}
public void Welcome(PlayerStats pStats)
{
Header();
Console.WriteLine("Hello!");
Console.WriteLine(pStats.pName);
}
public void Username(PlayerStats pStats)
{
string name;
Header();
Console.Write("'nChoose your USERNAME: ");
name = Console.ReadLine();
pStats.pName = name;
}
此处的打印方法是创建PlayerStats
的新实例
public void Welcome()
{
PlayerStats pStats = new PlayerStats();
Header();
Console.WriteLine("Hello!");
Console.WriteLine(pStats.pName);
}
你在这里创建的这个没有在Welcome()
方法中使用
public void Username()
{
PlayerStats pStats = new PlayerStats();
string name;
Header();
Console.Write("'nChoose your USERNAME: ");
name = Console.ReadLine();
pStats.pName = name;
}
在main中创建一个实例,如下所示:
public string Username()
{
Header();
Console.Write("'nChoose your USERNAME: ");
name = Console.ReadLine();
return name;
}
public void Welcome(PlayerStats pStats)
{
Header();
Console.WriteLine("Hello!");
Console.WriteLine(pStats.pName);
}
static void Main(string[] args)
{
PlayerStats pStats = new PlayerStats();
Jobs jobCl = new Jobs();
GUI gui = new GUI();
gui.Header();
gui.StartPage();
pStats.pName = gui.Username();
gui.ChoosepJob();
gui.Welcome(pStats);
Console.ReadLine();
}