Articles of generics

Nenhuma inferência de tipo com o método de extensão genérica

Eu tenho o seguinte método: public static TEventInvocatorParameters Until (this TEventInvocatorParameters p, Func breakCond) where TEventInvocatorParameters : EventInvocatorParameters where TEventArgs : EventArgs { p.BreakCondition = breakCond; return p; } E essa class public class EventInvocatorParameters where T : EventArgs { public Func BreakCondition { get; set; } // Other properties used below omitted for brevity. […]

Poluição de heap potencial via parâmetro varargs

Eu entendo isso ocorre com o Java 7 ao usar varargs com um tipo genérico; Mas a minha pergunta é .. O que exatamente significa o Eclipse quando diz “seu uso poderia poluir o heap?” E Como a nova anotação do @SafeVarargs evita isso?

Referência é ambígua com genéricos

Estou tendo um caso complicado aqui com sobrecarga de genéricos e methods. Confira esta class de exemplo: public class Test { public void setValue(Parameter parameter, T value) { } public void setValue(Parameter parameter, Field value) { } public void test() { // This works perfectly. is bound to String // ambiguity between setValue(.., String) and […]

Jackson e referência de tipo genérico

Eu quero usar a biblioteca jackson json para um método genérico da seguinte forma: public MyRequest tester(){ TypeReference<MyWrapper> typeRef = new TypeReference<MyWrapper>(); MyWrapper requestWrapper = (MyWrapper) JsonConverter.fromJson(jsonRequest, typeRef); return requestWrapper.getRequest(); } public class MyWrapper { private MyRequest request; public MyRequest getRequest() { return request; } public void setRequest(MyRequest request) { this.request = request; } } […]

Restrições genéricas, onde T: struct e where T: class

Eu gostaria de diferenciar entre os seguintes casos: Um tipo de valor simples (por exemplo, int ) Um tipo de valor anulável (por exemplo, int? ) Um tipo de referência (por exemplo, string ) – opcionalmente, eu não me importaria se isso fosse mapeado para (1) ou (2) acima Eu criei o seguinte código, que […]

Inferência do tipo Java: a referência é ambígua no Java 8, mas não no Java 7

Vamos dizer que temos 2 aulas. Uma class vazia Base e uma subclass dessa class Derived . public class Base {} public class Derived extends Base {} Então nós temos alguns methods em outra class: import java.util.Collection public class Consumer { public void test() { set(new Derived(), new Consumer().get()); } public T get() { return […]

O que é legal sobre genéricos, por que usá-los?

Eu pensei em oferecer este softball para quem quiser bater para fora do parque. O que são genéricos, quais são as vantagens dos genéricos, por que, como devo usá-los? Por favor, mantenha isso bem básico. Obrigado.

Desempenho de matrizes versus listas

Digamos que você precisa ter uma lista / matriz de números inteiros que você precisa repetir com freqüência, e quero dizer com muita frequência. As razões podem variar, mas dizem que está no centro do loop mais interno de um processamento de alto volume. Em geral, um optaria por usar listas (lista) devido à sua […]

Solução para restrição de operador sobrecarregado em genéricos .NET

O que eu faria se quisesse ter um método genérico que aceita apenas tipos que sobrecarregaram um operador, por exemplo, o operador de subtração. Eu tentei usar uma interface como uma restrição, mas as interfaces não podem ter sobrecarga do operador. Qual a melhor maneira de alcançar isto?

Criando uma instância do tipo Generic com uma variável contendo o Tipo

É possível obter o seguinte código? Eu sei que não funciona, mas eu estou querendo saber se existe uma solução alternativa? Type k = typeof(double); List lst = new List();