Algo de fundamentos teóricos

25/10/2008 - 14:24 por Hugo Nugra | Informe spam
Amigos.

Tengo dos objetos de una misma clase: ObjA y ObjB.

Existe una serie de otros objetos que "apuntan" a ObjA, ineractúan con sus
propiedades y ejecutan sus métodos. Sucede que por alguna razón, necesito
que todo lo que apunta a ObjA, ahora apunte aObjB.

Si intento con

ObjA = ObjB

todas las referencias que existían hacia ObjA, ahora apuntan a un null
(nulo), con los consabidos inconvenientes.

Si en concepto ObjA y ObjB son solamente referencias a una dirección de
memoria, quisiera saber si existe alguna manera de decirle al programa que
ahora la dirección de memoria de ObjA es la dirección de memoria de ObjB.

Este requerimirnto se pone de manifiesto cuando se instancian formularios
que han sido creados utilizando el diseñador de visual estudio, utilizando un
objeto de tipo DataSet; pues el generador de código crea una instancia del
tipo DataSet y DataBindings que lo apuntan en cada campo de datos. El
problema aparece cuando se necesita presentar el formulario pero con un
DataSet que ya existe y que ya está poblado de datos. Vendría bien una
solución como la que he planteado anteriormente.

Por cierto, yo he solucionado el problema de la presentación del formulario,
pero no de la manera que me gustaría.

Si alguien tiene algún cometario a respecto, de antemano, ¡Gracias!.
 

Leer las respuestas

#1 Alfredo Novoa
25/10/2008 - 15:11 | Informe spam
Hola Hugo,

El Sat, 25 Oct 2008 05:24:00 -0700, Hugo Nugra escribió:

Tengo dos objetos de una misma clase: ObjA y ObjB.

Existe una serie de otros objetos que "apuntan" a ObjA, ineractúan con sus
propiedades y ejecutan sus métodos. Sucede que por alguna razón, necesito
que todo lo que apunta a ObjA, ahora apunte aObjB.

Si intento con

ObjA = ObjB

todas las referencias que existían hacia ObjA, ahora apuntan a un null
(nulo), con los consabidos inconvenientes.



Te estás haciendo un lío. ObjA contiene una referencia y no hay ninguna
referencia hacia ObjA. Las referencias no apuntan a otras referencias. A no
ser que te pongas a trabajar con punteros de bajo nivel.

Si en concepto ObjA y ObjB son solamente referencias a una dirección de
memoria, quisiera saber si existe alguna manera de decirle al programa que
ahora la dirección de memoria de ObjA es la dirección de memoria de ObjB.



Esto está bastante mal expresado, pero si te he entendido bien lo que
quieres hacer se puede conseguir utilizando un objeto intermedio.

A y B apuntan a C y C apunta a D. Por lo tanto desde A y B se puede llegar
a D

Ahora cambias y C apunta a E, por lo tanto desde A y B se puede llegar a E.


Saludos
Alfredo

Preguntas similares