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

Preguntas similare

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

Respuesta Responder a este mensaje
#2 Juan Barrionuevo
04/04/2006 - 15:14 | Informe spam
Por supuesto que me ayuda Octavio!!!!
Muchas gracias

PD: El tema me pasaba, que quería averiguar si ciertos controles en
particular heredaban de UltraControlBase (una clase intermedia entre Control
y el control específico) y en el medio había muchos otros controles
inherentes de esta clase...

"Octavio Hernandez" escribió en el mensaje
news:%23$s29V%
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





email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida