¿Hay alguna manera de que pueda crear un nuevo tipo de delegado basado en uno existente? En mi caso, me gustaría crear un delegado MyMouseEventDelegate
que tenga la misma funcionalidad que EventHandler<MouseEventArgs>
.¿Cómo creo un nuevo tipo de delegado basado en uno existente, en C#?
¿Por qué quiero esto? Para aprovechar comprobaciones de tipos en tiempo de compilación, por supuesto! De esta forma, puedo tener dos delegados diferentes: MyRightClickHandler
y MyLeftClickHandler
, y nunca los dos estarán confundidos, incluso si ambos son funcionalmente idénticos a EventHandler<MouseEventArgs>
.
¿Hay sintaxis para hacer este tipo de cosas?
Ah, y un código como:
using MyRightClickHandler = EventHandler<MouseEventArgs>
no es lo suficientemente bueno. No hace ningún tipo de comprobación, ya que en realidad no crea un nuevo tipo. Y tendría que pegar esa línea en cada archivo de código en el que me referiría al MyRightClickHandler
.
He modificado el título para dejar en claro que está hablando de tipos de delegados, no delega instancias. Espero que no te importe. –
Honorable! Gracias. – scraimer