Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Recorrer Las Propiedades De Una Clase [SOLUCIONADO]
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Recorrer Las Propiedades De Una Clase [SOLUCIONADO] 
 
Hola a todos.
¿Alguien sabe como recorrer las propiedades de un objeto creado con una clase?
¿Como se hace enumerable una clase?
Saludos.
 



 
última edición por tincho el Viernes, 17 Abril 2020, 21:16; editado 1 vez 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Recorrer Las Propiedades De Una Clase 
 
Puedes ser más claro ?  
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Recorrer Las Propiedades De Una Clase 
 
Supongo que quieres enumerar las propiedades de una clase pero una vez que se instancia. Antes de instanciarla no creo que sea posible.

Una vez instanciada la clase, puedes enumerar sus símbolos de esta forma:

Private myclase as New ClaseBonita

' Dentro de algún método enumeramos:
Dim obj as String

For Each obj In myclase.Symbols
    If myclase.Symbol.Kind(Class.Property) Then
        Print obj;;
    End If
Next


Más o menos sería así, pero el resultado podría contener además variables, constantes, etc, por lo que tendrás que filtrar según tus preferencias como he hecho en la cláusula if then. No lo he probado, escribo de memoria.


Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Recorrer Las Propiedades De Una Clase 
 
Esto recorre las propiedades de una clase y devuelve sus valores. La inversa es similar pero con "SetProperty". XML ready!!!
Dim propiedad As String, propiedades As String[]
    
    propiedades = Object.Class(UnObjeto).Symbols
    
    
    For Each propiedad In propiedades
        ' el Try es porque si "propiedad" no es una Property, sino un Metodo, da error
       Try Debug propiedad, Object.GetProperty(UnObjeto, propiedad)

    Next
    

 



 
última edición por tercoIDE el Viernes, 17 Abril 2020, 21:24; editado 1 vez 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Recorrer Las Propiedades De Una Clase 
 
Ya esta, si efectivamente como dice Jesús se pueden ver que propiedades tiene una "clase" pero no del objeto creado a partir de esta.
La ayuda vino de el programa ExploraClases que hizo Shordi.
El código que use es básicamente el siguiente.
1) Obteniendo la lista de variables y propiedades de la clase

               c = Classes["NombreDeLaClase"]
                For Each s In c.Symbols
                    Select c[s].Kind
                        Case Class.Variable
                         tvar.Add(c[s].Name)

                        Case Class.Constant

                        Case Class.Event

                        Case Class.Property'
                         tpro.Add(c[s].Name)


                        Case Class.Method

                    End Select
                Next
 


2) consultar en el objeto una propiedad o variable por su nombre.
            For Each pr In tpro
                Print Object.GetProperty(obj, pr)
            Next
 

Eso es todo.
Saludos.
 



 
última edición por tincho el Viernes, 17 Abril 2020, 21:21; editado 2 veces 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Recorrer Las Propiedades De Una Clase 
 
tercoIDE escribió:  
Me parece que esto puede ayudar ....
Static Function GetProperty ( Object As Object, Property As String ) As Variant
Gets the value of an object property dynamically.
    Object is the object reference.
    Property is the name of the property.
This method returns the value of the property.

Si , esto es para consultar los datos, es la segunda parte, la primera es averiguar el nombre de las propiedades.
Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Recorrer Filas Listview [SOLUCIONADO] destroyer Controles/Librerías/Componentes 1 Lunes, 23 Noviembre 2009, 12:20 Ver último mensaje
langostino
No hay nuevos mensajes Recorrer Una Cadena [SOLUCIONADO] pittusa General 3 Miercoles, 26 May 2010, 00:26 Ver último mensaje
Invitado
No hay nuevos mensajes Recorrer Y Reposicionar Un TreeView [SOLUC... shordi Controles/Librerías/Componentes 10 Martes, 01 Abril 2014, 08:53 Ver último mensaje
shordi
No hay nuevos mensajes Acceder A Las Propiedades De Controles Fma... honovan General 4 Sabado, 19 Agosto 2017, 16:24 Ver último mensaje
honovan
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron