Modelo de controlador de eventos débil para usar con las lambdas

OK, entonces esto es más una respuesta que una pregunta, pero después de preguntaresta pregunta, y juntando los varios bits deDustin Campbell, Egor, y también un último consejo del 'IObservable / Rx / Reactivo framework', Creo que he encontrado una solución viable para este problema en particular. Puede ser completamente superado por el marco IObservable / Rx / Reactivo, pero solo la experiencia lo demostrará.

He creado deliberadamente una nueva pregunta, para darme espacio para explicar cómo llegué a esta solución, ya que puede que no sea inmediatamente evidente.

Hay muchas preguntas relacionadas, la mayoría de las cuales le dicen que no puede usar lambdas en línea si desea poder separarlas más adelante:

¿Eventos débiles en .Net?Desenganchar eventos con lambdas en C #¿El uso de lambdas como controladores de eventos puede provocar una pérdida de memoria?¿Cómo anular la suscripción a un evento que utiliza una expresión lambda?Anular la suscripción del método anónimo en C #

Y es verdad que siTÚ Si desea poder separarlos más tarde, debe mantener una referencia a su lambda. Sin embargo, si solo desea que el controlador de eventos se desvincule cuando su suscriptor se encuentre fuera del alcance, esta respuesta es para usted.

Respuestas a la pregunta(4)

Su respuesta a la pregunta