我正在WPF应用程序中创建一个UserControl对话框。 这是它的构造函数:
public ExcelExportView()
{
InitializeComponent();
// some stuffs here.
// IsCancelled may got the value true/false
if (IsCancelled)
{
// is there anyway to dispose the UserControl here?
}
}
我在这里使用Caliburn.Micro
来引导我的应用并创建视图。
所以问题是:无论如何都要在构建它的过程中处理UserControl吗?
答案 0 :(得分:1)
Dispose
方法只是另一种方法。您可以随时随地拨打电话。事实上,在你让它们超出范围之前,你应该为任何可用的一次性实例调用它。
这取决于您在构造函数的这个阶段要处理的内容。如果您已初始化任何Disposable对象,则可以对其进行处理。检查它们是否先不为空。
话虽如此,这段代码/设计对我来说并不好闻。
修改强>
默认情况下,UserControl不是Disposable,因为没有任何diposable对象。当你有一个包装非托管资源的类或者你的类有一个实现IDisposable的字段时,实现IDisposable。