Запитання з тегом «generics»

Генеріки - це форма параметричного поліморфізму, що зустрічається в різних мовах, включаючи мови NET, Java, Swift та Rust.

20
Як сортувати список <T> за властивістю в об’єкті
У мене є клас з ім'ям , Orderякий має властивості , такі як OrderId, OrderDate, Quantity, і Total. У мене є список цього Orderкласу: List&lt;Order&gt; objListOrder = new List&lt;Order&gt;(); GetOrderList(objListOrder); // fill list of orders Тепер я хочу сортувати список на основі одного властивості Orderоб'єкта, наприклад, мені потрібно сортувати його …
1248 c#  generics  list  sorting 

21
Створіть загальний метод, що обмежує T до Enum
Я будую функцію, щоб розширити цю Enum.Parseконцепцію Дозволяє проаналізувати значення за замовчуванням, якщо значення Enum не знайдено Є нечутливим до справи Тому я написав таке: public static T GetEnumFromString&lt;T&gt;(string value, T defaultValue) where T : Enum { if (string.IsNullOrEmpty(value)) return defaultValue; foreach (T item in Enum.GetValues(typeof(T))) { if (item.ToString().ToLower().Equals(value.Trim().ToLower())) return …

30
Як створити загальний масив на Java?
Через реалізацію дженерики Java ви не можете мати такий код: public class GenSet&lt;E&gt; { private E a[]; public GenSet() { a = new E[INITIAL_ARRAY_LENGTH]; // error: generic array creation } } Як я можу це здійснити, зберігаючи безпеку типу? Я побачив рішення на форумах Java, яке виглядає так: import java.lang.reflect.Array; …

8
Як використовувати рефлексію для виклику загального методу?
Який найкращий спосіб викликати загальний метод, коли параметр типу не відомий під час компіляції, а натомість отримується динамічно під час виконання? Розглянемо наступний зразок коду - всередині Example()методу, який найкоротший спосіб викликати, GenericMethod&lt;T&gt;()використовуючи Typeзбережену в myTypeзмінній? public class Sample { public void Example(string typeName) { Type myType = FindType(typeName); // …
1069 c#  .net  generics  reflection 

17
Чи Список <Dog> підклас Список <Animal>? Чому дженерики Java не є неявно поліморфними?
Я трохи розгублений щодо того, як Java-дженерики обробляють спадщину / поліморфізм. Припустимо таку ієрархію - Тварина (батьків) Собака - Кішка (діти) Отже, припустимо, у мене є метод doSomething(List&lt;Animal&gt; animals). За всіма правилами успадкування та поліморфізму, я б припустив, що a List&lt;Dog&gt; є a, List&lt;Animal&gt;а a List&lt;Cat&gt; є a List&lt;Animal&gt;- і …

14
Що таке PECS (виробник розширює споживчий супер)?
На цей питання є відповіді на Stack Overflow на російському : Використання підстановки в Generics Java Я натрапив на PECS (короткий для « Продюсер extendsта споживач»super ) під час читання генеричних матеріалів. Чи може хтось пояснити мені, як використовувати PECS для усунення плутанини між extendsта super?


16
Як отримати тип T від члена родового класу чи методу?
Скажімо, у мене є загальний член у класі чи методі, тож: public class Foo&lt;T&gt; { public List&lt;T&gt; Bar { get; set; } public void Baz() { // get type of T } } Коли я створюю примірник класу, то Tстає MyTypeObject1, так що клас має загальний список майна: List&lt;MyTypeObject1&gt;. Це …
675 c#  .net  generics 


23
Як звернутися до попереджених попереджень про викиди?
Затьмарення попереджає мене про таку форму: Безпека типу: Незареєстрована передача від Object до HashMap Це від дзвінка до API, який я не маю контролю над тим, який повертає Object: HashMap&lt;String, String&gt; getItems(javax.servlet.http.HttpSession session) { HashMap&lt;String, String&gt; theHash = (HashMap&lt;String, String&gt;)session.getAttribute("attributeKey"); return theHash; } Я хотів би уникати попереджень Eclipse, якщо …
611 java  generics  warnings 

26
Як клонувати загальний список у C #?
У мене є загальний список об'єктів у C # і я хочу його клонувати. Елементи зі списку можуть бути клонованими, але, здається, немає можливості зробити це list.Clone(). Чи існує простий спосіб цього?
592 c#  generics  list  clone 

19
Як зробити метод повернення методу загальним?
Розглянемо цей приклад (типовий для книг OOP): У мене є Animalклас, де кожен Animalможе мати багато друзів. І підкласи подобаються Dog, Duck, і Mouseт.д. , які додають певну поведінку , якbark() , і quack()т.д. Ось Animalклас: public class Animal { private Map&lt;String,Animal&gt; friends = new HashMap&lt;&gt;(); public void addFriend(String name, …

27
Створити екземпляр загального типу на Java?
Чи можливо створити екземпляр загального типу на Java? Я думаю, грунтуючись на тому, що я бачив, що відповідь є no( через стирання типу ), але мені було б цікаво, чи хтось може побачити щось, чого мені не вистачає: class SomeContainer&lt;E&gt; { E createContents() { return what??? } } EDIT: Виявляється, …
576 java  generics 

13
Як я можу повернути NULL із загального методу в C #?
У мене є загальний метод з цим (фіктивним) кодом (так, я знаю, що в IList є предикати, але мій код не використовує IList, а якусь іншу колекцію, все-таки це питання не має значення для питання ...) static T FindThing&lt;T&gt;(IList collection, int id) where T : IThing, new() { foreach T …
546 c#  generics 

7
Чому C # забороняє загальні типи атрибутів?
Це спричиняє виняток із часу компіляції: public sealed class ValidatesAttribute&lt;T&gt; : Attribute { } [Validates&lt;string&gt;] public static class StringValidation { } Я розумію, що C # не підтримує загальних атрибутів. Однак після довгого гуглінгу я не можу знайти причину. Хтось знає, чому родові типи не можуть бути похідними Attribute? Будь-які …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.