Mi imbatto nel codice Java in questo modo: public interface Foo<E> {} public interface Bar<T> {} public interface Zar<?> {} Qual è la differenza tra tutte e tre le precedenti e come chiamano questo tipo di dichiarazioni di classe o interfaccia in Java?
Ho alcuni metodi che restituiscono diversi elenchi generici. Esiste in .net un metodo statico di classe o qualsiasi altra cosa per convertire qualsiasi elenco in un datatable? L'unica cosa che posso immaginare è usare Reflection per farlo. SE ho questo: List<Whatever> whatever = new List<Whatever>(); (Questo prossimo codice non funziona …
C'è qualche reale differenza pratica tra a SortedList<TKey,TValue>e a SortedDictionary<TKey,TValue>? Ci sono circostanze in cui useresti specificamente l'una e non l'altra?
Ho un metodo generico che ha due parametri generici. Ho provato a compilare il codice qui sotto ma non funziona. È una limitazione .NET? È possibile avere più vincoli per diversi parametri? public TResponse Call<TResponse, TRequest>(TRequest request) where TRequest : MyClass, TResponse : MyOtherClass
Stavo leggendo A Tour of Scala: Abstract Types . Quando è meglio usare tipi astratti? Per esempio, abstract class Buffer { type T val element: T } piuttosto che i generici, per esempio, abstract class Buffer[T] { val element: T }
C'è una buona discussione su Generics e su cosa fanno realmente dietro le quinte di questa domanda , quindi sappiamo tutti che Vector<int[]>è un vettore di array interi, ed HashTable<String, Person>è una tabella le cui chiavi sono stringhe e valori Persons. Tuttavia, ciò che mi sorprende è l'uso di Class<>. …
Ad esempio, supponiamo che tu abbia due classi: public class TestA {} public class TestB extends TestA{} Ho un metodo che restituisce a List<TestA>e vorrei lanciare tutti gli oggetti in quell'elenco in TestBmodo da finire con a List<TestB>.
Ho un'applicazione che utilizza DLL gestite. Una di quelle DLL restituisce un dizionario generico: Dictionary<string, int> MyDictionary; Il dizionario contiene chiavi con lettere maiuscole e minuscole. Da un altro lato sto ottenendo un elenco di potenziali chiavi (stringa) ma non posso garantire il caso. Sto cercando di ottenere il valore …
Ho letto della cancellazione del tipo di Java sul sito Web di Oracle . Quando si verifica la cancellazione del tipo?In fase di compilazione o runtime? Quando la classe è caricata? Quando la classe viene istanziata? Molti siti (incluso il tutorial ufficiale sopra menzionato) affermano che la cancellazione del tipo …
Perché i generici in Java funzionano con le classi ma non con i tipi primitivi? Ad esempio, funziona perfettamente: List<Integer> foo = new ArrayList<Integer>(); ma questo non è permesso: List<int> bar = new ArrayList<int>();
Voglio creare un'istanza di un tipo che ho specificato in un metodo generico che ho. Questo tipo ha un numero di costruttori sovraccarichi. Mi piacerebbe essere in grado di passare argomenti ai costruttori, ma Activator.CreateInstance<T>() non vede di avere questo come opzione. C'è un altro modo per farlo?
Ho una classe che voglio usare per memorizzare "proprietà" per un'altra classe. Queste proprietà hanno semplicemente un nome e un valore. Idealmente, ciò che vorrei è poter aggiungere proprietà tipizzate , in modo che il "valore" restituito sia sempre del tipo che voglio che sia. Il tipo dovrebbe essere sempre …
Se BaseFruitha un costruttore che accetta un int weight, posso creare un'istanza di un frutto in un metodo generico come questo? public void AddFruit<T>()where T: BaseFruit{ BaseFruit fruit = new T(weight); /*new Apple(150);*/ fruit.Enlist(fruitManager); } Un esempio viene aggiunto dietro i commenti. Sembra che posso farlo solo se do BaseFruitun …
Ho un ciclo foreach che legge un elenco di oggetti di un tipo e produce un elenco di oggetti di un tipo diverso. Mi è stato detto che un'espressione lambda può ottenere lo stesso risultato. var origList = List<OrigType>(); // assume populated var targetList = List<TargetType>(); foreach(OrigType a in origList) …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.