Asignar dinámicamente método / Método como variable

Así que tengo 2 clases llamadas A y B.

A tiene un método "public void Foo ()".

B tiene varios otros métodos.

Lo que necesito es una variable en la clase B, a la que se le asignará el método Foo () de la clase A. Posteriormente, esta variable debe "ejecutarse" (=> por lo que debe ejecutar el método asignado de la clase A).

¿Como hacer esto

Respuestas a la pregunta(2)

Su respuesta a la pregunta