對於ViewModel中的屬性,可以將屬性定義爲(c#): private MyClass _myclass;如何清理內存的屬性?
public MyClass Myclass{
get { return _myclass;}
set {
if(value!=_myclass)
{
_myclass = value
RaisePropertyChanged("Myclass");
// do something else.....
}
}
}
然後我想釋放內存時,不再使用實例。什麼是正確的方式?
_myclass = null;
RaisePropertyChanged("Myclass");
或
Myclass = null;
或
_myclass = null;
Myclass = null;
讓它成爲一個IDisposable? – BoltClock
是的,這是我想要的。 – KentZhou
如果實例不再被使用(任何代碼都沒有引用它),它將被自動GCed,所以你不需要自己分配'null',如果MyClass使用文件這樣的資源實現IDisposable並且明確地配置 – sll