¿Puede vincular un buen ejemplo de uso de BackgroundWorker sin colocarlo en un formulario como componente?

Puedo recordar que hace muchos años (en 2005) estaba usando BackgroundWorker en mi código sin utilizar un componente visual para él, pero no recuerdo cómo (desafortunadamente soy muy olvidadizo y me olvido de todo muy pronto después de dejar de usarlo) . Tal vez estaba extendiendo la clase BackgroundWorker. ¿Puede vincular un buen ejemplo de uso de BackgroundWorker de esta manera?

Este artículo explica todo lo que necesita con claridad.

Estos son los pasos mínimos para usar BackgroundWorker:

  1. Crea una instancia de BackgroundWorker y maneja el evento DoWork.
  2. Llame a RunWorkerAsync, opcionalmente con un argumento de objeto.

Esto luego lo pone en movimiento. Cualquier argumento pasado a RunWorkerAsync se reenviará al controlador de eventos de DoWork, a través de la propiedad Argument del argumento del evento. Aquí hay un ejemplo:

class Program { static BackgroundWorker _bw = new BackgroundWorker(); static void Main() { _bw.DoWork += bw_DoWork; _bw.RunWorkerAsync ("Message to worker"); Console.ReadLine(); } static void bw_DoWork (object sender, DoWorkEventArgs e) { // This is called on the worker thread Console.WriteLine (e.Argument); // writes "Message to worker" // Perform time-consuming task... } }