Финализаторы и утилизация

У меня есть класс с именемBackgroundWorker у которого есть нить, постоянно работающая. Чтобы отключить этот поток, переменная экземпляра с именемstop чтобы быть должно бытьtrue.

Чтобы убедиться, что поток освобождается, когда класс используется, я добавилIDisposable и финализатор, который вызываетDispose(), При условии, чтоstop = true действительно ли это приводит к выходу из этой ветки? Нормально вызыватьDispose из финализатора, верно?

Финализаторы всегда должны звонитьDispose еслиobject наследуетсяIDisposable, правильно?

/// <summary>
/// Force the background thread to exit.
/// </summary>
public void Dispose()
{
    lock (this.locker)
    {
        this.stop = true;
    }
}

~BackgroundWorker()
{
    this.Dispose();
}

Ответы на вопрос(6)

Ваш ответ на вопрос