Preguntas etiquetadas con generics

Los genéricos son una forma de polimorfismo paramétrico que se encuentra en una variedad de lenguajes, incluidos los lenguajes .NET, Java, Swift y Rust.


7
¿Cómo puedo agregar a la lista <? extiende Número> estructuras de datos?
Tengo una lista que se declara así: List&lt;? extends Number&gt; foo3 = new ArrayList&lt;Integer&gt;(); Traté de agregar 3 a foo3. Sin embargo, recibo un mensaje de error como este: The method add(capture#1-of ? extends Number) in the type List&lt;capture#1-of ? extends Number&gt; is not applicable for the arguments (ExtendsNumber)
154 java  generics 



3
C #: múltiples tipos genéricos en una lista
Probablemente esto no sea posible, pero tengo esta clase: public class Metadata&lt;DataType&gt; where DataType : struct { private DataType mDataType; } Hay más, pero seamos simples. El tipo genérico (DataType) está limitado a los tipos de valor mediante la instrucción where. Lo que quiero hacer es tener una lista de …
153 c#  generics 

7
Definición de Java Enum
Pensé que entendía bastante bien los genéricos de Java, pero luego encontré lo siguiente en java.lang.Enum: class Enum&lt;E extends Enum&lt;E&gt;&gt; ¿Alguien podría explicar cómo interpretar este tipo de parámetro? Puntos de bonificación por proporcionar otros ejemplos de dónde se podría usar un parámetro de tipo similar.
151 java  generics  enums  crtp 

3
Mapa de Java equivalente en C #
Estoy tratando de mantener una lista de elementos en una colección con una clave de mi elección. En Java, simplemente usaría Map de la siguiente manera: class Test { Map&lt;Integer,String&gt; entities; public String getEntity(Integer code) { return this.entities.get(code); } } ¿Hay una forma equivalente de hacer esto en C #? …
150 c#  java  generics  collections 



9
¿Cuál es la diferencia entre <? super E> y <? extiende E>?
¿Cuál es la diferencia entre &lt;? super E&gt;y &lt;? extends E&gt;? Por ejemplo, cuando echas un vistazo a la clase, java.util.concurrent.LinkedBlockingQueuehay la siguiente firma para el constructor: public LinkedBlockingQueue(Collection&lt;? extends E&gt; c) y para uno por el método: public int drainTo(Collection&lt;? super E&gt; c)
147 java  generics 


5
Cómo pasar un tipo de clase como parámetro de función
Tengo una función genérica que llama a un servicio web y serializa la respuesta JSON a un objeto. class func invokeService&lt;T&gt;(service: String, withParams params: Dictionary&lt;String, String&gt;, returningClass: AnyClass, completionHandler handler: ((T) -&gt; ())) { /* Construct the URL, call the service and parse the response */ } Lo que intento …


6
El valor del tipo 'T' no se puede convertir a
Esta es probablemente una pregunta novata, pero Google sorprendentemente no proporcionó una respuesta. Tengo este método bastante artificial T HowToCast&lt;T&gt;(T t) { if (typeof(T) == typeof(string)) { T newT1 = "some text"; T newT2 = (string)t; } return t; } Viniendo de un fondo de C ++, esperaba que esto …
146 c#  .net  generics  casting 


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.