【发布时间】:2013-03-11 03:54:19
【问题描述】:
我正在尝试同时运行多个单例表单,但遇到了问题。 我想运行几个相同的表单,因为它们是同一个对象,我不想制作几个单例对象(如果创建的对象很少,单例就会失去它的意义)。 我有这个单例形式的代码:
class SingletonForm : Form { private static readonly SingletonForm instance = new SingletonForm(); public static SingletonForm Instance { get { return instance; } } }
我尝试过:
SingletonForm f1 = SingletonForm.Instance; SingletonForm f2 = SingletonForm.Instance; f1.Show(); Application.Run(f2);
但它只运行一种形式。
如何运行它才能同时运行 2 个或更多单例表单?如果可能的话(我的意思是很容易做到)?
附:有人告诉我这是可能的,我应该尝试一下。
【问题讨论】:
-
“多个单例形式”是矛盾的。显然,您实际上并不想要这里的单身人士。所以不要使用它。
-
实际上,您可能需要一个特定表单的实例。
-
@Lloyd 是的 - 但是 OP 想要乘以实例化一个单例,这没有意义
-
@Charleh Yeh 你当然是对的。
-
为什么要使用 f1.Show() 和 Application.Run(f2)?为什么不将 Show-Method 用于这两种形式?
标签: c# design-patterns