我正在为第三方库编写一些WPF自定义控件。例如,我使用一些依赖属性增强了标准ComboBox
。主要问题是我的控件有一些IDisposable
个私有实例,我想处理这些对象。
我的控件的结构是这样的:
public class MyComboBox : ComboBox
{
private IDisposableObject _innerObject;
[..]
}
如何在控件是GC时确保放置此对象,以及最佳方法是什么?
提前致谢。
PS:我尝试使用Finalizer
方法,但我认为这不是一个干净而且很好的解决方案,并且使用控件的Unloaded
事件(它是当主题发生变化时也会提出。)
答案 0 :(得分:0)
让你的ComboBox实现IDisposable并在该dispose方法中处理你的其他对象。 当您完成组合框呼叫处理时。
public class MyComboBox : ComboBox, IDisposable
{
private IDisposableObject _innerObject;
[..]
public void Dispose()
{
_innerObject.Dispose();
}
}