¿Es posible saber en qué lista reside un objeto?

03/01/2006 - 23:59 por Benton | Informe spam
Hola,

Cuando se agrega un objeto nuevo a una lista generica como List<T>, ¿tiene
el objeto agregado una manera fácil de saber en qué objeto List reside?
Necesito que cada objeto pueda accesar métodos y propiedades de la lista que
lo contiene.

Pensé en agregar una propiedad List<T> a cada objeto y ahí guardar la
referencia hacia el contenedor, pero no sé si exista otra manera.

Saludos,

-Benton

Preguntas similare

Leer las respuestas

#1 Eugenio Serrano [MVP]
04/01/2006 - 14:28 | Informe spam
Benton, para que necesitas eso ?
Me parece que tienes un tema de acoplamiento alli... Si pensamos en objetos,
cada objeto tiene que saber manejarse a si mismo, porque deberia acceder a
metodos de la lista que lo contiene ??

Saludos,
Eugenio Serrano
Analista de Sistemas
NDSoft Consultoria y Desarrollo
Microsoft MVP (ASP/ASP.Net)
http://tinyurl.com/63ybf
http://www.eugenioserrano.com.ar



"Benton" escribió en el mensaje
news:
Hola,

Cuando se agrega un objeto nuevo a una lista generica como List<T>, ¿tiene
el objeto agregado una manera fácil de saber en qué objeto List reside?
Necesito que cada objeto pueda accesar métodos y propiedades de la lista
que lo contiene.

Pensé en agregar una propiedad List<T> a cada objeto y ahí guardar la
referencia hacia el contenedor, pero no sé si exista otra manera.

Saludos,

-Benton

Respuesta Responder a este mensaje
#2 Benton
04/01/2006 - 16:46 | Informe spam
Benton, para que necesitas eso ?
Me parece que tienes un tema de acoplamiento alli... Si pensamos en
objetos, cada objeto tiene que saber manejarse a si mismo, porque deberia
acceder a metodos de la lista que lo contiene ??



Estoy desarrollando un generador de código que crea "business objects" para
interactuar con la base de datos (object/relational mapping). Cada objeto
individual representa un datarow de la tabla, y la colección de objetos
(Lista<T>) representa a la tabla.

Lo que quiero hacer es que el objeto pueda eliminarse a sí mismo:

Clientes listaCli = new Clientes(); // La colección
Cliente cli = listaCli.Buscar("123"); // El objeto individual
if (cli != null)
cli.Eliminar();

Para que el objeto "cli" pueda eliminarse a sí mismo de la lista, necesita
acceso a ella. De lo contrario, tendría que hacer algo como:

if (cli != null)
listaCli.Eliminar(cli);

Yo quería hacer al objeto individual un poco más funcional.

Saludos,

-Benton












Saludos,
Eugenio Serrano
Analista de Sistemas
NDSoft Consultoria y Desarrollo
Microsoft MVP (ASP/ASP.Net)
http://tinyurl.com/63ybf
http://www.eugenioserrano.com.ar



"Benton" escribió en el mensaje
news:
Hola,

Cuando se agrega un objeto nuevo a una lista generica como List<T>,
¿tiene el objeto agregado una manera fácil de saber en qué objeto List
reside? Necesito que cada objeto pueda accesar métodos y propiedades de
la lista que lo contiene.

Pensé en agregar una propiedad List<T> a cada objeto y ahí guardar la
referencia hacia el contenedor, pero no sé si exista otra manera.

Saludos,

-Benton





Respuesta Responder a este mensaje
#3 Eugenio Serrano [MVP]
04/01/2006 - 18:15 | Informe spam
Yo seguiria usando solo:

listaCli.Eliminar(cli);

Porque solo para darle mas funcionalidad al objeto individual puedes meterte
en problemas, en el sentido que tus objetos empiezan a acloparse, luego si
quieres pasar un objeto cliente a otro objeto para que haga algo con el,
necesitaras pasarle la lista, y la cosa se entra a complicar... Entiendes ??
:-))

Saludos,
Eugenio Serrano
Analista de Sistemas
NDSoft Consultoria y Desarrollo
Microsoft MVP (ASP/ASP.Net)
http://tinyurl.com/63ybf
http://www.eugenioserrano.com.ar


"Benton" escribió en el mensaje
news:
Benton, para que necesitas eso ?
Me parece que tienes un tema de acoplamiento alli... Si pensamos en
objetos, cada objeto tiene que saber manejarse a si mismo, porque deberia
acceder a metodos de la lista que lo contiene ??



Estoy desarrollando un generador de código que crea "business objects"
para interactuar con la base de datos (object/relational mapping). Cada
objeto individual representa un datarow de la tabla, y la colección de
objetos (Lista<T>) representa a la tabla.

Lo que quiero hacer es que el objeto pueda eliminarse a sí mismo:

Clientes listaCli = new Clientes(); // La colección
Cliente cli = listaCli.Buscar("123"); // El objeto individual
if (cli != null)
cli.Eliminar();

Para que el objeto "cli" pueda eliminarse a sí mismo de la lista, necesita
acceso a ella. De lo contrario, tendría que hacer algo como:

if (cli != null)
listaCli.Eliminar(cli);

Yo quería hacer al objeto individual un poco más funcional.

Saludos,

-Benton












Saludos,
Eugenio Serrano
Analista de Sistemas
NDSoft Consultoria y Desarrollo
Microsoft MVP (ASP/ASP.Net)
http://tinyurl.com/63ybf
http://www.eugenioserrano.com.ar



"Benton" escribió en el mensaje
news:
Hola,

Cuando se agrega un objeto nuevo a una lista generica como List<T>,
¿tiene el objeto agregado una manera fácil de saber en qué objeto List
reside? Necesito que cada objeto pueda accesar métodos y propiedades de
la lista que lo contiene.

Pensé en agregar una propiedad List<T> a cada objeto y ahí guardar la
referencia hacia el contenedor, pero no sé si exista otra manera.

Saludos,

-Benton








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