我在 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/