significa - C#Obtenga el nombre del tipo derivado de la clase base interna
que significa private en c# (3)
Al generar un evento, asegúrese de pasar el remitente real a la propiedad del remitente. El objeto remitente en la clase de escucha debe apuntar correctamente a la clase secundaria que provocó el evento.
Estoy solucionando un problema al manejar un evento de mouse en una clase base. Dado que los puntos de interrupción no funcionan realmente bien para solucionar problemas de eventos del mouse, quiero agregar algunos resultados de depuración en el controlador de eventos. Sin embargo, es importante para mí incluir el nombre de la clase derivada real en la información de depuración ya que el código de manejo de eventos en la clase base es compartido por un gran número de clases derivadas y solo algunas de ellas presentan el problema.
Intenté usar this.GetType().Name
pero esto simplemente devuelve el tipo de la clase base
. Por supuesto, puedo comenzar a modificar las clases y, digamos, pasar el type
clase derivado al constructor de la clase base donde puede almacenarlo, pero esto es un montón de cambios para lo que obviamente es solo una necesidad temporal. ¿Existe una forma sencilla de obtener el tipo de la clase derivada desde la clase base?
this.GetType().Name
debería funcionar. Es posible que no tenga una clase derivada.
this.GetType().Name
siempre devuelve el nombre del tipo de ejecución actual, no el tipo en el que se escribió el código. Sin embargo, puede emular puntos de interrupción utilizando Debugger.Break()
de manera condicional:
if (this.GetType().Name == "Problematic type")
System.Diagnostics.Debugger.Break();