取消UserControl的初始化或在构造函数中处置它
本文关键字:构造函数 UserControl 初始化 取消 | 更新日期: 2023-09-27 18:04:42
我正在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的方法?
Dispose
方法只是另一种方法。你可以随时随地打电话给它。实际上,您应该在让任何可用的一次性实例超出作用域之前调用它。
这取决于你想在构造函数的这个阶段Dispose什么。如果初始化了任何Disposable对象,则可以Dispose它们。先检查它们是否为空。
话虽如此,这个代码/设计对我来说并不好闻。
编辑
UserControl默认情况下不是Disposable的,因为没有任何可丢弃的对象。当你有一个包装非托管资源的类,或者当你的类有一个实现IDisposable的字段时,实现IDisposable。