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