.Net 应用程序范围的变量

Chr*_*eis 5 .net c# singleton

我对 .Net 相当陌生...我有几个查询将在应用程序加载时执行。我希望这些查询将数据存储在一个对象(数据集?)中,该对象可在整个应用程序中访问。我应该使用单例类吗?我的应用程序中的用户控件如何引用主应用程序代码中的公共变量?

我想我还没有找到关于如何/在哪里存储应用程序变量以及当我需要填充 ListBox、DataGridView 等时如何引用它们的好资源。

作为背景,我最熟悉使用 Flex Builder 3 进行开发,对于这个模糊的问题感到抱歉...我在找到有关该主题的良好参考资料时遇到问题(不仅仅是填充控件,而是将数据存储在应用程序中)级别并从应用程序内的任何位置引用它)。

编辑:这是用于使用 C# 编写 Windows 窗体应用程序

jsc*_*arf 5

听起来您正在使用 ASP.NET,在这种情况下,应用程序状态(MSDN) 将允许您存储和检索可从应用程序中的任何位置访问的应用程序范围的数据。

更多这里:

如何:在应用程序状态中保存值

如何:从应用程序状态读取值

如果您正在编写桌面应用程序,则应该创建一个包含应用程序范围数据的静态类,例如:

public static class ApplicationSettings
{
    public static string InstallDirectory { get { ... } set { ... } };
    public static DataSet SomeDataSet { get { ... } set { ... } };


    static ApplicationSettings()
    {
       // ... initialize or load settings here
    }
}
Run Code Online (Sandbox Code Playgroud)

这里不需要单例,但如果您确实需要延迟初始化和线程安全,您可能需要采取该路线。

  • 抱歉没有澄清...这是针对 Windows 窗体应用程序的 (2认同)