Herencia...

04/04/2006 - 13:54 por Juan Barrionuevo | Informe spam
Hola a todos:
Necesito saber si una clase hereda de otra, sin hacer "base.base.base.Name",
ya que a veces tengo una ascendencia de tres y otras de más o de menos.
En concreto, mi problema es que tengo controles que son de terceros, no
intrínsecos de VS2005 y necesito configurarle a esos controles una propiedad
que no tienen los controles comunes.
Hoy por hoy, uso control.GetTye().FullName para saber si pertenece a esta
compañia. Pero al subclasearlos ya no pertenecen al mismo nameSpace y debo
agrandar el if... y la verdad no me parece una buena idea haerlo así.
Desde ya, muchas gracias...

Juan
 

Leer las respuestas

#1 Octavio Hernandez
04/04/2006 - 14:43 | Informe spam
Juan,

El operador 'is' te permite determinar si un objeto es instancia de una
clase, no importa cuántos niveles de jerarquía haya por encima.
Por ejemplo, puedes preguntar

cbxMes is Control

y te dará true si cbxMes es un ComboBox (porque un ComboBox es un ..., que
es un ..., que a fin de cuentas es un Control).

Esto te puede ayudar, creo.

Slds - Octavio


"Juan Barrionuevo" escribió en el mensaje
news:%
Hola a todos:
Necesito saber si una clase hereda de otra, sin hacer
"base.base.base.Name", ya que a veces tengo una ascendencia de tres y
otras de más o de menos.
En concreto, mi problema es que tengo controles que son de terceros, no
intrínsecos de VS2005 y necesito configurarle a esos controles una
propiedad que no tienen los controles comunes.
Hoy por hoy, uso control.GetTye().FullName para saber si pertenece a esta
compañia. Pero al subclasearlos ya no pertenecen al mismo nameSpace y debo
agrandar el if... y la verdad no me parece una buena idea haerlo así.
Desde ya, muchas gracias...

Juan

Preguntas similares