我搜索过为 WPF 中的窗口创建单例对象。
public static Test DefInstance
{
get
{
if (formDefInstance == null) // formDefInstance.IsDisposed
{
initializingDefInstance = true;
formDefInstance = new cas18();
initializingDefInstance = false;
}
return formDefInstance;
}
set { formDefInstance = value; }
}
但是 forDefInstance.IsDisposed
不工作并抛出错误。
对此有什么想法吗?
最佳答案
我认为每个人都应该看看 Jon Skeet 的 C# In Depth 站点。如果只是为了阅读并在他们的大脑中永久铭记单例模式 a-la C#。
http://csharpindepth.com/Articles/General/Singleton.aspx
在你的场景中,尝试实现这个(线程安全,非惰性):
public sealed class DefInstance
{
private static readonly DefInstance instance = new DefInstance();
static DefInstance()
{
}
private DefInstance()
{
}
public static DefInstance Instance
{
get
{
return instance;
}
}
}
还有Lazy<T>
该站点中该模式的实现和各种其他实现。
关于c# - 我们如何为窗口创建单例实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16056161/