Comunidad de diseño web y desarrollo en internet online

Recuperar propiedades de una clase

Citar            
MensajeEscrito el 19 Dic 2008 03:51 pm
Estoy buscando alguna forma de listar las propiedades de una clase, con un objeto lo logro con un for ... in, pero no se si sea posible de alguna forma para las clases, lo he intentado con el for ... in, pero no me devuelve nada.

Saludos!

Por master_of_puppetz

Claber

2483 de clabLevel

7 tutoriales
3 articulos

Genero:Masculino   Premio_Secretos

WebDev (Flex + PHP + JS)

firefox
Citar            
MensajeEscrito el 19 Dic 2008 05:00 pm

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 19 Dic 2008 05:21 pm

Zah escribió:

http://livedocs.adobe.com/flex/3/langref/flash/utils/package.html#describeType()

que cool esta esto! ^^ pero no hay forma de hacer que las propiedades sean enumerables desde la definición de la clase?, con esto, yo ya podría recorrer los valores con un for ... in

Gracias! :wink:

Por master_of_puppetz

Claber

2483 de clabLevel

7 tutoriales
3 articulos

Genero:Masculino   Premio_Secretos

WebDev (Flex + PHP + JS)

firefox
Citar            
MensajeEscrito el 19 Dic 2008 05:29 pm
Puedes hacerlo si las propiedades son públicas, si son privadas rompería la encapsulación

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 19 Dic 2008 05:37 pm

solisarg escribió:

Puedes hacerlo si las propiedades son públicas, si son privadas rompería la encapsulación

Jorge

si son públicas, pero no se como definir o hacerle saber al compilador que son enumerables las propiedades, tengo clases de este tipo:

Código ActionScript :

package framework.designer.propiedades
{
   public class Datos
   {
      private var _tabla:String;
      private var _campo:String;
      private var _pTabla:String;
      private var _pcampo:String;
      
      public function Datos(tabla:String = "", campo:String = "", pTabla:String = null, pcampo:String = null)
      {
         this.tabla = tabla;
         this.campo = campo;
         this.pTabla = pTabla;
         this.pcampo = pcampo;
      }
      public function set tabla(value:String):void
      {
         _tabla = value;
      }
      public function get tabla():String
      {
         return _tabla;
      }
      public function set campo(value:String):void
      {
         _campo = value;
      }
      public function get campo():String
      {
         return _campo;
      }
      public function set pTabla(value:String):void
      {
         _pTabla = value;
      }
      public function get pTabla():String
      {
         return _pTabla;
      }
      public function set pcampo(value:String):void
      {
         _pcampo = value;
      }
      public function get pcampo():String
      {
         return _pcampo;
      }
   }
}


Gracias! ^^

Por master_of_puppetz

Claber

2483 de clabLevel

7 tutoriales
3 articulos

Genero:Masculino   Premio_Secretos

WebDev (Flex + PHP + JS)

firefox
Citar            
MensajeEscrito el 19 Dic 2008 05:46 pm
Nop, las propiedades son privadas, ej:

private var _tabla:String

Si te refieres a hacerlas enumerables haciendo un for .. in sobre una instancia de la clase, entonces rompes la encapsulación
La punta iría por lo que te indica Zah, es decir usar Reflection sobre una clase para descubrir sus propiedades y métodos

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 19 Dic 2008 05:50 pm
ok, muchas gracias! ;)

Por master_of_puppetz

Claber

2483 de clabLevel

7 tutoriales
3 articulos

Genero:Masculino   Premio_Secretos

WebDev (Flex + PHP + JS)

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.