我有一个需要访问同一实例(遵循Singleton模式)的要求,并且我还想创建/访问上述实例的刷新实例。
所以我要做的是,在需要的时间使用单例模式(针对Model和ViewModel),然后销毁它(通过将实例设置为value,即给Singleton.Instance = null),当我需要重新/刷新时实例以上的版本,因为旧对象已经存储在我的ObservableCollection中。
public sealed class SingletonViewModel
{
private static SingletonViewModel instance=null;
private SingletonViewModel ()
{
}
public static SingletonViewModel Instance
{
get
{
if (instance==null)
{
instance = new SingletonViewModel ();
}
return instance;
}
set
{
instance = value;
}
}
//I have an ObservableCollection of the SingletonViewModel class in other class.
//I am destroying the above instance by setting the Instance value to null.
public void Destroy{
SingletonModel.Instance = null;
SingletonViewModel .Instance = null;
}
public String Header{
get return SingletonModel.Instance.Header;
set { SingletonModel.Instance.Header = value}
}
尽管我在调用Destroy函数后销毁并尝试访问上述实例,但是我的ObservableCollection会使用上述实例的最新值进行更新。