Obtener nombre de instancia de un objeto en VB.NET

08/09/2006 - 21:44 por Diego Javier Martínez | Informe spam
Tengo una clase "persona" con una propiedad "datoadjunto" del tipo object.
Dicha clase "persona" es instanciada en el load de un webform, luego en el
mismo load del webform se declara una variable de la clase "adjunto" y dicho
objeto se carga en la propiedad "adjunto". ¿como puedo hacer para devolver
desde un método de la clase persona, el nombre de la variable que se
encuentra instanciada y almacenada en la propiedad "datoadjunto"?

Saludos, Diego

Preguntas similare

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
09/09/2006 - 06:58 | Informe spam
No se si entendi bien. ¿Lo que quieres es que una propiedad de la clase
Persona te devuelva el nombre de la variable que contenia el valor con el
cual se seteo una propiedad? No llego a verle sentido. Ademas, las variables
locales pierden su nombre al compilarse la clase. ¿Cual seria la finalidad
que estas buscando?

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
Respuesta Responder a este mensaje
#2 Diego Javier Martínez
09/09/2006 - 22:46 | Informe spam
Sí, en realidad estoy diseñando un control web del tipo gridproperty en el
que se cargan clases. Cuando se cargue una clse que en una de las
propiedades contenga un objeto, la idea sería que el control muestre el
nombre del objeto cargado en lugar de mostrar el nombre de la clse del
mismo.

"Eduardo A. Morcillo [MS MVP VB]" <emorcillo .AT. mvps.org> escribió en el
mensaje news:%
No se si entendi bien. ¿Lo que quieres es que una propiedad de la clase
Persona te devuelva el nombre de la variable que contenia el valor con el
cual se seteo una propiedad? No llego a verle sentido. Ademas, las
variables locales pierden su nombre al compilarse la clase. ¿Cual seria la
finalidad que estas buscando?

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C

Respuesta Responder a este mensaje
#3 Eduardo A. Morcillo [MS MVP VB]
11/09/2006 - 21:18 | Informe spam
Diego Javier Martínez wrote:
Sí, en realidad estoy diseñando un control web del tipo gridproperty
en el que se cargan clases. Cuando se cargue una clse que en una de
las propiedades contenga un objeto, la idea sería que el control
muestre el nombre del objeto cargado en lugar de mostrar el nombre de
la clse del mismo.



Lo que en mi opinion deberias hacer es lo mismo que hace el PropertyGrid y
es usar el TypeConverter asociado a la propiedad o el tipo. Seria algo asi:

Function ObtenerDescripcion(ByVal obj As Object, ByVal propiedad As String)
As String

' Obtengo el tipo del objeto
Dim t As Type = obj.GetType()

' Obtengo el descriptor de la propiedad
Dim prop As PropertyDescriptor =
TypeDescriptor.GetProperties(t)(propiedad)

' Obtengo el converter de la propiedad
Dim converter As TypeConverter = prop.Converter

' Llamo al converter para devolver el valor de la propiedad como string
Return converter.ConvertToString(prop.GetValue(obj))

End Function

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
Respuesta Responder a este mensaje
#4 Diego Javier Martínez
15/09/2006 - 21:58 | Informe spam
Así lo implementé y funcionó muy bien. Muchas Gracias!!!!

Saludos, Diego


"Eduardo A. Morcillo [MS MVP VB]" <emorcillo .AT. mvps.org> escribió en el
mensaje news:
Diego Javier Martínez wrote:
Sí, en realidad estoy diseñando un control web del tipo gridproperty
en el que se cargan clases. Cuando se cargue una clse que en una de
las propiedades contenga un objeto, la idea sería que el control
muestre el nombre del objeto cargado en lugar de mostrar el nombre de
la clse del mismo.



Lo que en mi opinion deberias hacer es lo mismo que hace el PropertyGrid y
es usar el TypeConverter asociado a la propiedad o el tipo. Seria algo
asi:

Function ObtenerDescripcion(ByVal obj As Object, ByVal propiedad As
String) As String

' Obtengo el tipo del objeto
Dim t As Type = obj.GetType()

' Obtengo el descriptor de la propiedad
Dim prop As PropertyDescriptor =
TypeDescriptor.GetProperties(t)(propiedad)

' Obtengo el converter de la propiedad
Dim converter As TypeConverter = prop.Converter

' Llamo al converter para devolver el valor de la propiedad como string
Return converter.ConvertToString(prop.GetValue(obj))

End Function

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C

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