c# - 使用单独的类,全局/静态类?

标签 c# visual-studio-2008 class class-design

假设我有两个独立的类,A 和 B。

我还有存储库类 C,它从文本文件加载一些信息。例如。它具有方法 loadLines()addLine()deleteLine()

忽略数据绑定(bind),如何让 A 和 B 都在同一个类 C 上工作。这可能吗?

例如,目前,在 A 类和 B 类表单加载中,我有:

var classC = new C();

这会导致重复执行。如果我可以从 A 或 B 获得一份 c 类的副本,那就更好了。

编辑:那么在使用单例的情况下,类 C 的构造函数何时执行? - 哪个类(class)首先创建它?它只会在我服用后发生?

edit1: 使用单例模式是否意味着您的项目解决方案中应该只使用其中一个?我可以有多个吗?

最佳答案

您可以使用 Singleton模式,或者如果你想走依赖注入(inject)框架的路线(这不仅仅是创建单例,但非常值得研究)大多数 DI 容器只能创建一个对象的单个实例。

class C {

    public static readonly C Instance = new C();

    private C() {
    }

}

然后你会像这样使用它:

private void A_Load(object sender, EventArgs e) {
    var classC = C.Instance;
}

private void B_Load(object sender, EventArgs e) {
    var classC = C.Instance;
}

关于c# - 使用单独的类,全局/静态类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2360537/

相关文章:

php - 命名空间和类扩展

c# - HttpModule Init方法被调用了几次-为什么?

c# - 加密 web.config 连接字符串时, key 存储在哪里?

visual-studio-2008 - 如何在 Visual Studio 2008 中对 F# 代码进行单元测试?

class - 对象中的可变值

c# - 在 C# 中通过名称访问类变量

c# - 如何存储 √ 和 ✓(刻度线)符号

c# - 检查 .NET 4 Full Framework 是否已安装

VS2008 和 IIS6 之间的 C# 转换不同

visual-studio - GUI 在 VS 2010 项目中包含 .prop 文件?