Existe um método limpo de zombar de uma classe com parâmetros genéricos? Digamos que eu tenha que zombar de uma classe Foo<T>que preciso passar para um método que espera a Foo<Bar>. Eu posso fazer o seguinte com bastante facilidade: Foo mockFoo =
Existe um método limpo de zombar de uma classe com parâmetros genéricos? Digamos que eu tenha que zombar de uma classe Foo<T>que preciso passar para um método que espera a Foo<Bar>. Eu posso fazer o seguinte com bastante facilidade: Foo mockFoo =
Você pode encontrar o seguinte na web: Tipo de classificação superior == tipo de construtor? class AClass[T]{...} // For example, class List[T] Alguns dizem que esse é um tipo de classificação mais alta, porque abstrai sobre tipos que seriam compatíveis com a definição. Tipos de...
Qual é o motivo pelo qual o Java não nos permite fazer private T[] elements = new T[initialCapacity]; Eu pude entender que o .NET não nos permitiu fazer isso, pois no .NET você tem tipos de valor que em tempo de execução podem ter tamanhos diferentes, mas em Java todos os tipos de T serão...
Estou com problemas para navegar na regra do Java para inferir parâmetros de tipo genérico. Considere a seguinte classe, que possui um parâmetro de lista opcional: import java.util.Collections; import java.util.List; public class Person { private String name; private List<String>...
Eu tenho; List<String> stringList = new ArrayList<String>(); List<Integer> integerList = new ArrayList<Integer>(); Existe uma maneira (fácil) de recuperar o tipo genérico da
public class EnumRouteConstraint<T> : IRouteConstraint where T : struct { private static readonly Lazy<HashSet<string>> _enumNames; // <-- static EnumRouteConstraint() { if (!typeof(T).IsEnum) { throw new ArgumentException(
Eu tenho alguns métodos que retornam diferentes listas genéricas. Existe no .net algum método estático de classe ou qualquer outra coisa para converter qualquer lista em uma tabela de dados? A única coisa que posso imaginar é usar o Reflection para fazer isso. Se eu tenho...
Existe alguma diferença prática real entre a SortedList<TKey,TValue>e a SortedDictionary<TKey,TValue>? Existem circunstâncias em que você usaria especificamente um e não o
Me deparei com código Java como este: public interface Foo<E> {} public interface Bar<T> {} public interface Zar<?> {} Qual é a diferença entre os três itens acima e como eles chamam esse tipo de declaração de classe ou interface em
Eu tenho um método genérico que tem dois parâmetros genéricos. Tentei compilar o código abaixo, mas ele não funciona. É uma limitação do .NET? É possível ter várias restrições para parâmetros diferentes? public TResponse Call<TResponse, TRequest>(TRequest request) where TRequest : MyClass,...
Eu estava lendo A Tour of Scala: Abstract Types . Quando é melhor usar tipos abstratos? Por exemplo, abstract class Buffer { type T val element: T } em vez disso, genéricos, por exemplo, abstract class Buffer[T] { val element:
Há uma boa discussão sobre genéricos e o que eles realmente fazem nos bastidores nesta pergunta , então todos sabemos que Vector<int[]>é um vetor de matrizes inteiras e HashTable<String, Person>uma tabela cujas chaves são cadeias e valores Persons. No entanto, o que me impressiona é o...
Por exemplo, digamos que você tenha duas classes: public class TestA {} public class TestB extends TestA{} Eu tenho um método que retorna List<TestA>ae gostaria de converter todos os objetos nessa lista para TestBque eu acabe com a
Eu tenho um aplicativo que usa dlls gerenciadas. Uma dessas DLLs retorna um dicionário genérico: Dictionary<string, int> MyDictionary; O dicionário contém teclas com maiúsculas e minúsculas. Por outro lado, estou recebendo uma lista de chaves em potencial (string), mas não posso...
Eu li sobre apagamento de tipo do Java no site da Oracle . Quando ocorre o apagamento do tipo?Em tempo de compilação ou tempo de execução? Quando a turma é carregada? Quando a aula é instanciada? Muitos sites (incluindo o tutorial oficial mencionado acima) dizem que o apagamento do tipo ocorre no...
Por que os genéricos em Java funcionam com classes, mas não com tipos primitivos? Por exemplo, isso funciona bem: List<Integer> foo = new ArrayList<Integer>(); mas isso não é permitido: List<int> bar = new
Quero criar uma instância de um tipo que especifique em um método genérico que possuo. Esse tipo possui vários construtores sobrecarregados. Eu gostaria de poder passar argumentos para os construtores, mas Activator.CreateInstance<T>() não vê isso como uma opção. tem outro jeito de fazer...
Eu tenho uma classe que quero usar para armazenar "propriedades" para outra classe. Essas propriedades simplesmente têm um nome e um valor. Idealmente, o que eu gostaria é poder adicionar propriedades digitadas , para que o "valor" retornado seja sempre do tipo que eu quero que seja. O tipo deve...
Se BaseFruittem um construtor que aceita um int weight, posso instanciar um pedaço de fruta em um método genérico como este? public void AddFruit<T>()where T: BaseFruit{ BaseFruit fruit = new T(weight); /*new Apple(150);*/ fruit.Enlist(fruitManager); } Um exemplo é adicionado atrás dos...
Eu tenho um loop foreach lendo uma lista de objetos de um tipo e produzindo uma lista de objetos de um tipo diferente. Disseram-me que uma expressão lambda pode alcançar o mesmo resultado. var origList = List<OrigType>(); // assume populated var targetList = List<TargetType>();...