gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-30 00:46:47 26 4
gpt4 key购买 nike

假设我有两个独立的类,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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com