tipos significa que publicas protegidas programacion privadas miembro metodos implementa herencia heredado clases acceso abstractos abstracto c#

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();