将MainWindow声明为全局静态变量的危险

时间:2014-01-09 15:08:11

标签: c# wpf

Intuition告诉我这是一个坏主意......但是,我试图将一些孩子添加到MainWindow成员的对象中。这样MainWindow可以在以后使用这些成员。我无法将MainWindow对象传递给我的应用中的每个方法,因此这是替代方法。我可能会让MainWindow类的特定成员成为静态全局变量,但我还是想问这里......

这样做有什么危险?有吗?这是不好的做法吗?为什么呢?

namespace MyApp
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        Globals.Variables.MainClass = this;
    }
}

全球类:

namespace MyApp.Globals
{
    class Variables
    {
        public static MainWindow MainClass = null;
    }
}

1 个答案:

答案 0 :(得分:0)

我认为通过我们在评论/聊天中的讨论,这个问题的答案如下:

将mainWindow声明为静态不一定是不好的做法,但这样做的原因可能是不好的做法。当应用程序必须使用静态变量来引用窗口的实例时,应用程序可能会以不同的,更简单的方式设计一些东西。

相关问题