Lista de Generics con Eventos

11/05/2006 - 09:44 por James Cole | Informe spam
Buenos dias

Alguien sabe si existen en el framework 2.0 alguna clase basada en
generics tipo la List<T> que al añadir un item o eliminarlo pueda
disparar eventos?

Ya que si heredo de List<T> no me deja sobrescribir el metodo Add.

Por ahora la unica solucion que me quedaria seria implementar una clase
tipo a la List<T> yo mismo.

Alguna sugerencia?

Gracias por todo y un saludo.

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
11/05/2006 - 10:48 | Informe spam
"James Cole" wrote in message
news:
Alguien sabe si existen en el framework 2.0 alguna clase basada en
generics tipo la List<T> que al añadir un item o eliminarlo pueda
disparar eventos?

Ya que si heredo de List<T> no me deja sobrescribir el metodo Add.
[...]
Alguna sugerencia?



Hereda de List<T>, y en lugar de sobreescribir el método Add (con
overwrite), suplanta el método (con new). Lo único que ocurre de esta manera
es que el método ya no es polimórfico, pero si vas a crear siempre objetos
de tu clase heredada, y no de List<T>, te da igual la pérdida de
polimorfismo.
Respuesta Responder a este mensaje
#2 solved by design
11/05/2006 - 12:25 | Informe spam
"Alberto Poblacion" wrote
in message news:%
"James Cole" wrote in message
news:
Alguien sabe si existen en el framework 2.0 alguna clase basada en
generics tipo la List<T> que al añadir un item o eliminarlo pueda
disparar eventos?

Ya que si heredo de List<T> no me deja sobrescribir el metodo Add.
[...]
Alguna sugerencia?



Hereda de List<T>, y en lugar de sobreescribir el método Add (con
overwrite), suplanta el método (con new). Lo único que ocurre de esta
manera es que el método ya no es polimórfico, pero si vas a crear siempre
objetos de tu clase heredada, y no de List<T>, te da igual la pérdida de
polimorfismo.





Interesante.

¿Y si ese nuevo método fuera un método genérico (o sea, recibiera un T como
parámetro), al estilo de las plantillas del C++? Lo mismo he dicho una
burrada, pero creo que podría seguir siendo polimórfico.

Visita mi blog: http://rfog.blogsome.com
Libros, ciencia ficción y programación
La mujer es lo más corruptor y lo más corruptible que hay en el mundo.
Respuesta Responder a este mensaje
#3 Alberto Poblacion
11/05/2006 - 13:11 | Informe spam
"solved by design" wrote in message
news:
Interesante.

¿Y si ese nuevo método fuera un método genérico (o sea, recibiera un T
como parámetro), al estilo de las plantillas del C++? Lo mismo he dicho
una burrada, pero creo que podría seguir siendo polimórfico.



No tiene nada que ver una cosa con la otra. Desde luego que el método que
se añade debe ser genérico (parámetro T) si efectivamente queremos que
nuestra clase heredada siga siendo genérica.

Lo del polimorfismo se refiere a otra cosa: Si creamos un objeto de
nuestra clase, llamémosle MiList, por ejemplo obj=new MiList<int>(), y lo
metemos dentro de una variable del tipo List<int>, y luego llamamos al Add a
través de esta última variable, se dispara el Add de List y no el Add de
MiList cuando si este Add lo hemos sobreescrito con new, mientras que si
hubiésemos podido sobreescribirlo con override, se habría ejecutado el Add
de MiList.
Respuesta Responder a este mensaje
#4 RFOG
11/05/2006 - 13:20 | Informe spam
En Thu, 11 May 2006 13:11:10 +0200, Alberto Poblacion
escribió:

"solved by design" wrote in message
news:
Interesante.

¿Y si ese nuevo método fuera un método genérico (o sea, recibiera un T
como parámetro), al estilo de las plantillas del C++? Lo mismo he dicho
una burrada, pero creo que podría seguir siendo polimórfico.



No tiene nada que ver una cosa con la otra. Desde luego que el método
que
se añade debe ser genérico (parámetro T) si efectivamente queremos que
nuestra clase heredada siga siendo genérica.

Lo del polimorfismo se refiere a otra cosa: Si creamos un objeto de
nuestra clase, llamémosle MiList, por ejemplo obj=new MiList<int>(), y lo
metemos dentro de una variable del tipo List<int>, y luego llamamos al
Add a
través de esta última variable, se dispara el Add de List y no el Add de
MiList cuando si este Add lo hemos sobreescrito con new, mientras que si
hubiésemos podido sobreescribirlo con override, se habría ejecutado el
Add
de MiList.




Comprendido y claro como el agua.

PS: El "solved by design" alias "RFOG" alias "Zephryn Xirdal" con el
síndrome esquizofrénico de postear cada vez de una cuenta...
Respuesta Responder a este mensaje
#5 Eze...
20/05/2006 - 04:07 | Informe spam
maybe this article could be useful
http://blogs.msdn.com/kcwalina/arch...74010.aspx

Collection<T> lets you overrides SetItem protected member to get “notified”
when a new items is added or an existing item is changed.


"RFOG" wrote:

En Thu, 11 May 2006 13:11:10 +0200, Alberto Poblacion
escribió:

> "solved by design" wrote in message
> news:
>> Interesante.
>>
>> ¿Y si ese nuevo método fuera un método genérico (o sea, recibiera un T
>> como parámetro), al estilo de las plantillas del C++? Lo mismo he dicho
>> una burrada, pero creo que podría seguir siendo polimórfico.
>
> No tiene nada que ver una cosa con la otra. Desde luego que el método
> que
> se añade debe ser genérico (parámetro T) si efectivamente queremos que
> nuestra clase heredada siga siendo genérica.
>
> Lo del polimorfismo se refiere a otra cosa: Si creamos un objeto de
> nuestra clase, llamémosle MiList, por ejemplo obj=new MiList<int>(), y lo
> metemos dentro de una variable del tipo List<int>, y luego llamamos al
> Add a
> través de esta última variable, se dispara el Add de List y no el Add de
> MiList cuando si este Add lo hemos sobreescrito con new, mientras que si
> hubiésemos podido sobreescribirlo con override, se habría ejecutado el
> Add
> de MiList.
>
>
Comprendido y claro como el agua.

PS: El "solved by design" alias "RFOG" alias "Zephryn Xirdal" con el
síndrome esquizofrénico de postear cada vez de una cuenta...

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida