Perguntas com a marcação «generics»

Os genéricos são uma forma de polimorfismo paramétrico encontrado em uma variedade de linguagens, incluindo linguagens .NET, Java, Swift e Rust.




3
Vários tipos genéricos em uma lista
Provavelmente isso não é possível, mas eu tenho esta classe: public class Metadata<DataType> where DataType : struct { private DataType mDataType; } Há mais do que isso, mas vamos simplificar. O tipo genérico (DataType) é limitado aos tipos de valor pela instrução where. O que eu quero fazer é ter …
153 c#  generics 

6
Como posso adicionar à lista <? estende Número> estruturas de dados?
Eu tenho uma lista que é declarada assim: List&lt;? extends Number&gt; foo3 = new ArrayList&lt;Integer&gt;(); Eu tentei adicionar 3 ao foo3. No entanto, recebo uma mensagem de erro como esta: 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)
153 java  generics 

7
Definição de Java Enum
Pensei entender bem os genéricos Java, mas me deparei com o seguinte em java.lang.Enum: class Enum&lt;E extends Enum&lt;E&gt;&gt; Alguém poderia explicar como interpretar esse parâmetro de tipo? Pontos de bônus por fornecer outros exemplos de onde um parâmetro de tipo semelhante pode ser usado.
151 java  generics  enums  crtp 

3
Mapa Java equivalente em C #
Estou tentando manter uma lista de itens em uma coleção com uma chave de minha escolha. Em Java, eu simplesmente usaria o Map da seguinte maneira: class Test { Map&lt;Integer,String&gt; entities; public String getEntity(Integer code) { return this.entities.get(code); } } Existe uma maneira equivalente de fazer isso em c #? …
150 c#  java  generics  collections 



9
Qual é a diferença entre <? super E> e <? estende E>?
Qual é a diferença entre &lt;? super E&gt;e &lt;? extends E&gt;? Por exemplo, quando você analisa a classe, java.util.concurrent.LinkedBlockingQueuehá a seguinte assinatura para o construtor: public LinkedBlockingQueue(Collection&lt;? extends E&gt; c) e uma para o método: public int drainTo(Collection&lt;? super E&gt; c)
147 java  generics 


5
Como passar um tipo de classe como parâmetro de função
Eu tenho uma função genérica que chama um serviço web e serializa a resposta JSON de volta para um 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 */ } O …


6
O valor do tipo 'T' não pode ser convertido em
É provável que seja uma pergunta iniciante, mas o Google surpreendentemente não forneceu uma resposta. Eu tenho esse 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; } Vindo de um background em C ++, …
146 c#  .net  generics  casting 

10
Por que o Java Collections não remove métodos genéricos?
Por que Collection.remove (Object o) não é genérico? Parece que Collection&lt;E&gt;poderia terboolean remove(E o); Em seguida, quando você tenta remover acidentalmente (por exemplo) em Set&lt;String&gt;vez de cada String individual de um Collection&lt;String&gt;, seria um erro de tempo de compilação em vez de um problema de depuração posteriormente.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.