Preguntas etiquetadas con generics

Meta técnica, que permite posponer la configuración del tipo confiable al tiempo de ejecución.

49
¿Qué hay de malo con los genéricos de Java? [cerrado]

He visto varias veces en este sitio publicaciones que denuncian la implementación de genéricos en Java. Ahora, puedo decir honestamente que no he tenido ningún problema con su uso. Sin embargo, no he intentado hacer una clase genérica yo mismo. Entonces, ¿cuáles son sus problemas con el soporte...

35
¿Qué es el abuso de genéricos?

Mientras revisaba algún código, noté la oportunidad de cambiarlo para usar genéricos. El código (ofuscado) se ve así: public void DoAllTheThings(Type typeOfTarget, object[] possibleTargets) { var someProperty = typeOfTarget.GetProperty(possibleTargets[0]); ... } Este código podría ser...

29
Un buen sistema de tipos genéricos

Es comúnmente aceptado que los genéricos de Java fallaron de algunas maneras importantes. La combinación de comodines y límites condujo a un código seriamente ilegible. Sin embargo, cuando miro otros idiomas, realmente parece que no puedo encontrar un sistema de tipo genérico con el que los...

28
C # Genéricos: ¿cómo evitar el método redundante?

Supongamos que tengo dos clases que se ven así (el primer bloque de código y el problema general están relacionados con C #): class A { public int IntProperty { get; set; } } class B { public int IntProperty { get; set; } } Estas clases no se pueden cambiar de ninguna manera (son parte de...

20
Genéricos vs interfaz común?

No recuerdo cuándo escribí la clase genérica la última vez. Cada vez que creo que lo necesito después de pensarlo, llego a una conclusión que no. La segunda respuesta a esta pregunta me hizo pedir una aclaración (ya que aún no puedo comentar, hice una nueva pregunta). Así que tomemos el código...

20
¿Quién extiende las interfaces? ¿Y por qué?

AFAIK, mi clase extends, clases e implementsinterfaces para padres . Pero me encuentro con una situación en la que no puedo usar implements SomeInterface. Es la declaración de un tipo genérico. Por ejemplo: public interface CallsForGrow {...} public class GrowingArrayList <T implements...

20
¿Cuál es la diferencia entre <? extiende Foo> y <Foo>

Parece que tengo un malentendido sobre la diferencia entre <Foo>y <? extends Foo>. Según tengo entendido, si tuviéramos ArrayList<Foo> foos = new ArrayList<>(); Esto indica que Foose pueden agregar objetos de tipo a esta lista de matriz. Como las subclases de Footambién...

16
¿Cómo se implementan los genéricos?

Esta es la pregunta desde la perspectiva interna del compilador. Estoy interesado en los genéricos, no en las plantillas (C ++), así que marqué la pregunta con C #. No Java, porque AFAIK los genéricos en ambos idiomas difieren en las implementaciones. Cuando miro los idiomas sin genéricos, es...

13
Scala como lenguaje para la programación genérica

En el documento "Un estudio comparativo extendido de apoyo del lenguaje para la programación genérica" ​​por Garcia et al. Se ofrece una comparación interesante de las características de los lenguajes de programación para la programación genérica: con la breve explicación de la...