コードビハインドでウィンドウが閉じられたタイミングでDispose()が必要なプロパティを解放するサンプルコード
using System;
using System.Windows;
using System.Diagnostics;
namespace DisposeOnCloseSample
{
public partial class MainWindow : Window
{
// 例: IDisposableを実装したクラスをプロパティとして持つ
public IDisposable Resource { get; private set; }
public MainWindow()
{
InitializeComponent();
// 仮のリソースを初期化
Resource = new SampleDisposable();
// ClosedイベントでDisposeする
this.Closed += OnClosed;
}
private void OnClosed(object? sender, EventArgs e)
{
// nullチェックしてDispose
Resource?.Dispose();
}
}
// サンプル用のリソースクラス
public class SampleDisposable : IDisposable
{
public void Dispose()
{
Debug.Print("SampleDisposable.Dispose() called.");
}
}
}

コメント