c# - .Net 应用程序范围的变量

标签 c# .net singleton

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

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

作为背景,我最熟悉使用 Flex Builder 3 进行开发,对于这个含糊的问题深表歉意...我在查找有关该主题的良好引用时遇到了问题(不仅是填充控件,而且是存储数据在应用程序级别并从应用程序内的任何地方引用它)。

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

最佳答案

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

更多内容:

How to: Save Values in Application State

How to: Read Values from Application State

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

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


    static ApplicationSettings()
    {
       // ... initialize or load settings here
    }
}

此处不需要单例,但如果您确实需要延迟初始化和线程安全,您可能希望采用该方法。

关于c# - .Net 应用程序范围的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1319490/

相关文章:

c# - 将数字从字符串转换为整数,小数点以逗号或点分隔

c++ - 迈耶斯单例范围

c# - WebException.Response.GetResponseStream() 应该关闭/处置吗?

c# - filesystemwatcher 多个文件

c# - 有没有办法让 C# 类处理它自己的空引用异常

c# - Mongo C# 驱动程序 2.0 - 在不获取文档的情况下查找计数

c# - Sharepoint 2010如何获取网站集搜索结果页?

c# - 如何在运行时创建的控件上添加事件

java - Singleton设计的两种方式

由于私有(private)保护级别,Swift 初始值设定项无法访问