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.


8
¿Cómo comparar valores de tipos genéricos?
¿Cómo comparo valores de tipos genéricos? Lo he reducido a una muestra mínima: public class Foo<T> where T : IComparable { private T _minimumValue = default(T); public bool IsInRange(T value) { return (value >= _minimumValue); // <-- Error here } } El error es: El operador '> =' no se …


7
¿Qué significa "T" en C #?
Tengo experiencia en VB y me estoy convirtiendo a C # para mi nuevo trabajo. También estoy tratando de mejorar en .NET en general. He visto que la palabra clave "T" se usa mucho en las muestras que publica la gente. ¿Qué significa la "T" en C #? Por ejemplo: …
79 c#  .net  generics 


7
StringDictionary vs Dictionary <cadena, cadena>
¿Alguien tiene alguna idea de cuáles son las diferencias prácticas entre el objeto System.Collections.Specialized.StringDictionary y System.Collections.Generic.Dictionary? Los he usado en el pasado sin pensar mucho en cuál funcionaría mejor, funcionaría mejor con Linq o proporcionaría otros beneficios. ¿Alguna idea o sugerencia sobre por qué debería usar una sobre la otra?

4
¿Por qué no se verifica el tipo de retorno lambda en tiempo de compilación?
La referencia del método utilizado tiene tipo de retorno Integer. Pero Stringse permite una incompatibilidad en el siguiente ejemplo. ¿Cómo arreglar la withdeclaración del método para que el tipo de referencia del método sea seguro sin la conversión manual? import java.util.function.Function; public class MinimalExample { static public class Builder&lt;T&gt; { …

4
¿Cuál es la diferencia entre <? extiende Base> y <T extiende Base>?
En este ejemplo: import java.util.*; public class Example { static void doesntCompile(Map&lt;Integer, List&lt;? extends Number&gt;&gt; map) {} static &lt;T extends Number&gt; void compiles(Map&lt;Integer, List&lt;T&gt;&gt; map) {} static void function(List&lt;? extends Number&gt; outer) { doesntCompile(new HashMap&lt;Integer, List&lt;Integer&gt;&gt;()); compiles(new HashMap&lt;Integer, List&lt;Integer&gt;&gt;()); } } doesntCompile() falla al compilar con: Example.java:9: error: incompatible types: …



3
Selección de firma de método para expresión lambda con múltiples tipos de objetivos coincidentes
Estaba respondiendo una pregunta y me encontré con un escenario que no puedo explicar. Considera este código: interface ConsumerOne&lt;T&gt; { void accept(T a); } interface CustomIterable&lt;T&gt; extends Iterable&lt;T&gt; { void forEach(ConsumerOne&lt;? super T&gt; c); //overload } class A { private static CustomIterable&lt;A&gt; iterable; private static List&lt;A&gt; aList; public static void …
11 java  generics  lambda  javac  ecj 

1
¿Por qué el compilador elige este método genérico con un parámetro de tipo de clase cuando se invoca con un tipo de interfaz no relacionado?
Considere las siguientes dos clases e interfaces: public class Class1 {} public class Class2 {} public interface Interface1 {} ¿Por qué la segunda llamada para mandatoryinvocar el método sobrecargado con Class2, si getInterface1y Interface1no tiene relación Class2? public class Test { public static void main(String[] args) { Class1 class1 = …

1
Referencia de métodos y genéricos en Java-8
Estoy enfrentando un problema con la referencia de método combinada con tipos genéricos. Tenemos un código donde necesitamos llamar a un método sobrecargado, pero falla con un error: No se puede resolver el valor m1 () He simplificado mi problema para aclarar dónde está el problema. El siguiente código falla: …
11 java  generics  lambda  java-8 

4
Problema con propiedades genéricas cuando se asigna mapeo
Tengo una biblioteca que exporta un tipo de utilidad similar al siguiente: type Action&lt;Model extends object&gt; = (data: State&lt;Model&gt;) =&gt; State&lt;Model&gt;; Este tipo de utilidad le permite declarar una función que se realizará como una "acción". Recibe un argumento genérico Modelcontra el cual operará la acción. El dataargumento de la …

4
Selección del método genérico C #
Estoy tratando de escribir algoritmos genéricos en C # que pueden funcionar con entidades geométricas de diferentes dimensiones. En el siguiente ejemplo artificial que tengo Point2y Point3, ambos implementamos una IPointinterfaz simple . Ahora tengo una función GenericAlgorithmque llama a una función GetDim. Existen múltiples definiciones de esta función según …
9 c#  generics 

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.