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

标签 c# .net wpf oop

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

我正在创建一个小型 RPG,并且有一个 Player 类,该类的构造函数会自动将默认值分配给实例化对象。

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

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

    MessageBox.Show("The character " + hero.Name + " has been created.");
}

消息框确实显示了角色的名字,但我无法在其余代码中使用该函数创建的“英雄”对象。是因为对象在函数结束时被删除了吗?有什么方法可以保留该对象并在该函数之外使用它吗?

谢谢!

最佳答案

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.");
    }
}

然后您在 Game 中有一个 private Player 对象可以使用。

关于c# - 如何从我的方法外部访问 c sharp 中的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26319550/

相关文章:

c# - 如何等待语音合成完成

wpf - 带有静态文本和绑定(bind)的标签

c# - 选择所有节点

c# - 传入一个已经取消的 CancellationToken 导致 HttpClient 挂起

c# - 通过ajax调用 Controller 方法到达 "404 not found"

c# - 找不到类型或命名空间名称 'ImageEntitiesContainer'

c# - 使用提供程序 'RsaProtectedConfigurationProvider' 解密失败

.net - 为什么 System.Xml.Serialization.XmlSerializer 在 SSRS 2005 报告中未定义?

wpf - 为什么WPF使处理图像变得如此困难?

.net - 有没有办法阻止 WPF .NET TabControl 上的选项卡改变位置?