如何从我的方法外部访问c sharp中的对象?

Lor*_*ury 4 .net c# oop wpf

我是C#,WPF和OOP的新手,我遇到了对象的问题.

我正在创建一个小型RPG,并且有一个Player类,它有一个构造函数自动为instanciated对象分配默认值.

所以使用WPF/XAML,我创建了一个链接到函数的按钮; 当我按下按钮时,将执行此功能:

private void NewGameClick(object sender, RoutedEventArgs e)
{
    Player hero = new Player("Tristan");

    MessageBox.Show("The character " + hero.Name + " has been created.");
}
Run Code Online (Sandbox Code Playgroud)

消息框确实显示了该字符的名称,但我不能在我的其余代码中使用该函数创建的"hero"对象.是因为在函数结束时删除了对象吗?有没有办法保留该对象并在该函数之外使用它?

谢谢!

Dar*_*ren 9

hero对象仅存在于NewGameClick方法内,并且在方法执行完毕后将超出范围.

您可以在方法之外声明对象,它将在该类的范围内.例如.

public class Game 
{
    Player hero = new Player("Tristan");

    private void NewGameClick(object sender, RoutedEventArgs e)
    {       
        MessageBox.Show("The character " + hero.Name + " has been created.");
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以private在游戏中使用Player对象class.