Articles of genéricos

Não é possível converter implicitamente o tipo ‘Int’ para ‘T’

Eu posso chamar Get(Stat); ou Get(Name); Mas ao compilar eu recebo: Não é possível converter implicitamente o tipo ‘int’ para ‘T’ e a mesma coisa para string . public T Get(Stats type) where T : IConvertible { if (typeof(T) == typeof(int)) { int t = Convert.ToInt16(PlayerStats[type]); return t; } if (typeof(T) == typeof(string)) { string […]

Tipo genérico nested em Java

Como é que se deve usar o tipo genérico Map<?, ? extends List> Map<?, ? extends List> vez de um Map<?, List> mais simples para o seguinte método test() ? public static void main(String[] args) { Map<Integer, List> mappy = new HashMap<Integer, List>(); test(mappy); } public static void test(Map<?, ? extends List> m) {} // […]

Converter DataTable para lista genérica em c #

Disclaimer: Eu sei que é solicitado em tantos lugares na SO. Minha consulta é um pouco diferente. Linguagem de Codificação: C # 3.5 Eu tenho um DataTable chamado cardsTable que puxa dados do database e eu tenho uma class de cartões que têm apenas algumas propriedades (sem construtor) public class Cards { public Int64 CardID […]

Tipo de retorno de methods genéricos Java

Eu me pergunto por que os methods genéricos que não retornam nada são (ou podem ser) declarados desta maneira: public static void printArray( E[] inputArray ) { // Display array elements for ( E element : inputArray ){ System.out.printf( “%s “, element ); } System.out.println(); } Parece que é o tipo do object retornado, mas […]

Genéricos Java T vs Objeto

Eu queria saber qual é a diferença entre as duas declarações de método a seguir: public Object doSomething(Object obj) {….} public T doSomething(T t) {….} Existe algo que você pode / faria com um, mas não o outro? Eu não consegui encontrar esta pergunta em outro lugar neste site.

Inicializar Java Generic Array of Type Generic

Então eu tenho essa class HashTable de uso geral que estou desenvolvendo, e eu quero usá-la genericamente para qualquer número de tipos de input, e também quero inicializar o storage array interno para ser um array de LinkedList’s (para propósitos de colisão), onde cada LinkedList é especificado antes do tempo (para segurança de tipo) para […]

Por que não posso passar um Protocol.Type para um parâmetro genérico T.Type?

Eu estava trabalhando com o Swinject e um problema está me incomodando. Eu tenho sido preso por quase um dia inteiro. Eu suspeito que isso se deva ao fato de o Swift ser uma linguagem datilografada, mas não tenho certeza. Eu resumi meu problema neste playground protocol Protocol {} class Class: Protocol {} let test: […]

Função genérica especializada errada é chamada no Swift 3 a partir de uma chamada indireta

Eu tenho código que segue o design geral de: protocol DispatchType {} class DispatchType1: DispatchType {} class DispatchType2: DispatchType {} func doBar(value:D) { print(“general function called”) } func doBar(value:DispatchType1) { print(“DispatchType1 called”) } func doBar(value:DispatchType2) { print(“DispatchType2 called”) } onde, na realidade, o DispatchType é, na verdade, um armazenamento de back-end. As funções doBar são […]

Erro genérico: parâmetro de tipo esperado, struct encontrado

Comecei um novo projeto, onde quero ser o mais modular possível, com isso quero dizer que gostaria de poder replace algumas peças por outras no futuro. Este parece ser um uso perfeito para traits , no momento eu tenho este código: mod parser; mod renderer; mod renderers; use parser::MarkParser; use renderer::MarkRenderer; struct Rustmark { parser: […]

Função genérica usando um nome de tipo no Swift

Em C #, é possível chamar um método genérico especificando o tipo: public T f() { return something as T } var x = f() O Swift não permite que você especialize um método genérico ao chamá-lo. O compilador quer confiar na inferência de tipos, portanto, isso não é possível: func f() -> T? { […]