Tengo un EventHandler que es estático al que se puede suscribir desde cualquier lugar.
public static event EventHandler<CustomEvent> OnChunkLoad = delegate(object sender, CustomEvent ev) { };
Puedo suscribir métodos no estáticos como este y esto funciona perfectamente cuando se activa el controlador.
EventHandlers.OnChunkLoad += whenChunkIsLoaded; public void whenChunkIsLoaded(Object obj, CustomEvent ev) { print("Loaded\n"); }
Pero ahora quiero poder suscribir métodos estáticos en tiempo de ejecución automáticamente y permitir que se les llame cuando se invoque el controlador.
En este momento, la única forma de hacer esto es tener algún método estático llamado al inicio para suscribir todos los métodos estáticos que quiero suscribir.
public static class StaticMethods { // call this on startup public static void registerMethods() { EventHandlers.OnChunkLoad += whenChunkIsLoaded; } public static void whenChunkIsLoaded(Object obj, CustomEvent ev) { print(ev.DateTime + " : " + obj.GetType()); } }
Aunque esto funcionaría, es complicado y eventualmente se vuelve muy largo después de un tiempo. Cualquier ayuda, gracias.