Example #1
0
 void cambiarInstancia(PropertyInfo ptyInfo)
 {
     if ((this.pilaObjetos == null) && (this.pilaPropiedades == null))
     {
         this.pilaObjetos     = new Stack();
         this.pilaPropiedades = new Stack();
     }
     this.pilaObjetos.Push(this.instancia);
     this.pilaPropiedades.Push(this.propiedades);
     this.instancia   = this.instancia.GetType().GetProperty(ptyInfo.Name).GetValue(this.instancia, null);
     this.propiedades = this.propiedades[ptyInfo.Name].Propiedades;
 }
Example #2
0
 void recuperarInstanciaOrigen()
 {
     if ((this.pilaObjetos != null) && (this.pilaPropiedades != null))
     {
         while ((this.pilaObjetos.Count > 0) && (this.pilaPropiedades.Count > 0))
         {
             this.instancia   = this.pilaObjetos.Pop();
             this.propiedades = (IListaPropiedades)this.pilaPropiedades.Pop();
         }
         this.pilaObjetos     = null;
         this.pilaPropiedades = null;
     }
 }
Example #3
0
        IListaPropiedades propiedades;                          // implementacion de patron Composite

        internal AdaptadorPropiedad(PropertyInfo propInfo, object instanc)
        {
            this.info      = propInfo;
            this.instancia = instanc;
            if ((tieneAtributos()) && (esParteModelo()))
            {
                if (esModelo())
                {
                    this.propiedades = new ListaPropiedades(); // es un Modelo agregado
                }
                else
                {
                    this.propiedades = null;                                                            // es un valor atomico
                }
            }
        }
Example #4
0
 public AdaptadorReflexion(object objeto)
 {
     this.instancia   = objeto;
     this.propiedades = new ListaPropiedades();
     obtenerPropiedades(this.instancia);
 }