不同类中的相同对象?

时间:2014-01-07 13:06:54

标签: c# winforms object

我一直使用Windows Forms编写Minecraft启动器。如果它没有检测到,我就下载了启动器。 EXE的变量称为_exe(我使用了get-set)。我做了另一个表格下载启动器异步(对于进度条,谈论美学!)。在Program.cs中,所有重要事件发生的地方(Main()都是),我有一个名为Boot()的方法,它加载所有设置并检查丢失的文件(Minecraft.exe,Launch。 bat(设置环境变量%APPDATA%,因为我不知道如何设置环境变量并使用它启动Minecraft。)当DownloadLauncher表单初始化时,它告诉我它正在下载到启动器所在的文件夹中(是默认选项)虽然在设置中它已经设置为使用原始的%APPDATA%文件夹。我知道这是一个对象被多次声明的情况,但我不知道如何解决它,因为它是如此大规模。
Program.csDownloadLauncher.cs
问题是第23行中的变量prog._rw.var._exe不应该是.minecraft\Minecraft.exe而是(%APPDATA%)\.minecraft\Minecraft.exe

1 个答案:

答案 0 :(得分:2)

public static class VariableStore
{
    public static string MinecraftPath
    {
        get;
        set;
    }
}

现在要“设置”你的变量,你可以打电话:

VariableStore.MinecraftPath = "%appdata%\\roaming\\.minecraft";

您可以通过相同的方式访问它:

System.Diagnostics.Debug.Print(VariableStore.MinecraftPath);

请记住,这是一个非常粗糙的解决方案。另外,如果你计划完成你的项目(听起来这是一个非常好的学习项目),我建议你在进一步学习之前先阅读更多关于WinForms以及它们如何工作的内容,就像你一样已经存在多种设计缺陷。不要放弃,祝你好运! :)