如果没有直接引用,是否会复制单例类?

时间:2012-05-16 11:26:45

标签: c# c#-4.0 reference singleton duplicates

假设我有DLL程序集 A ,我以正确的方式实现了单例模式。让它成为类Manager,其Instance静态属性返回唯一的实例。

然后我们说我创建了DLL程序集 B ,其中声明了类Controller,并且此程序集引用了 A 和{{1 } class使用Controller,好的。

最后,有一个控制台应用程序 C ,其中我唯一引用了程序集 B 以及类Manager的几个实例。

现在,问题。这些实例是否会在它们之间共享Controller类?

2 个答案:

答案 0 :(得分:2)

  

现在,问题。这些实例是否会在它们之间共享Manager类?

是的,他们将共享同一个实例,因为所有这些程序集都位于一个AppDomain中。如果您创建另一个应用程序 D (Web,控制台,桌面,...),您将引用其他程序集并尝试访问Manager.Instance

答案 1 :(得分:0)

答案:是的,因为Manager正确实现了单身。