Ver Mensaje Individual
  #58  
Antiguo 13-11-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.114
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,


Cita:
Empezado por Al González
...Con respecto al uso abreviado de Inherited, hace algún tiempo que lo desacostumbré porque imposibilita usar la opción Find Declaration para ir rápidamente al código del método heredado.
Una cosa más que sé. Gracias Al.


Cita:
Empezado por Al González
Dec: Te aconsejo que optes por la recomendación de Román respecto al método virtual Invoke.

Verás, la óptica es esta: Si existe un método virtual que llama directa o indirectamente a un manejador de evento, lo mejor es tratar de redefinir ese método y agregar ahí la nueva funcionalidad relacionada con el evento.
No lo haré así, por el momento, aunque acabo de intentarlo de nuevo. Por el momento quédese como está el asunto, aunque, no dudo que sea más efectivo hacer lo que dices, no he podido conseguirlo. ¿Porqué no pregunto por aquí? ¡Hoy no, que me da pereza!


Cita:
Empezado por Al González
Si por alguna razón (técnica o lógica) prefieres redefinir la propiedad evento, ten en cuenta lo siguiente:

1. No necesitas usar Load.
No se hace uso de "Load", quizá se planteó, pero, ahora mismo no se hace uso de ese método.


Cita:
Empezado por Al González
2. Puedes redeclarar la propiedad evento en la nueva clase y con el mismo nombre para ocultar la propiedad padre ante el inspector de objetos, guardando la nueva propiedad en un nuevo campo.
Se agradece la información. De todos modos ahora la propiedad está "heredada", de tal forma que el componente puede hacer uso del evento y el usuario del componente también, del mismo evento: el evento llegará antes al usuario que al componente.


Cita:
Empezado por Al González
4. Si la propiedad original no está definida con métodos de acceso virtuales, tu componente tendrá el riesgo que señala Andrés, al hacer referencias polimórficas (se operará sobre la propiedad padre, no la nueva).
Aquí ya me pierdo un poco Al. Llego hasta decir que la propiedad original, efectivamente, no está definida con métodos de acceso virtuales. El riesgo que corre el componente (o el usuario del mismo) no logro captarlo. Acaso haga alguna que otra prueba Al. En cualquier caso gracias por tus comentarios.

Un abrazo y medio.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita