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

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

5
Java: обмежені символи підстановки або параметр обмеженого типу?
Нещодавно я прочитав цю статтю: http://download.oracle.com/javase/tutorial/extra/generics/wildcards.html Моє питання полягає в тому, щоб замість створення такого методу: public void drawAll(List<? extends Shape> shapes){ for (Shape s: shapes) { s.draw(this); } } Я можу створити такий метод, і він чудово працює: public <T extends Shape> void drawAll(List<T> shapes){ for (Shape s: shapes) …

6
Як вести Autowire Bean загального типу <T> навесні?
У мене є квасоля, Item&lt;T&gt;яку потрібно автоматично підключати в @Configurationкласі. @Configuration public class AppConfig { @Bean public Item&lt;String&gt; stringItem() { return new StringItem(); } @Bean public Item&lt;Integer&gt; integerItem() { return new IntegerItem(); } } Але коли я намагаюся @Autowire Item&lt;String&gt;, я отримую наступний виняток. "No qualifying bean of type [Item] …


7
Як оновити об’єкт у списку <> на C #
Я маю List&lt;&gt; спеціальні об'єкти. Мені потрібно знайти об’єкт у цьому списку за якоюсь унікальною властивістю та оновити іншу властивість цього об’єкта. Який найшвидший спосіб це зробити?
82 c#  asp.net  list  generics 

10
Ітерація значень переліку, використовуючи дженерики Java
Я намагаюся знайти спосіб перебору значень переліку, використовуючи загальні засоби. Не знаю, як це зробити або якщо це можливо. Наступний код ілюструє, що я хочу зробити. Зверніть увагу, що код T.values ​​() не є дійсним у наступному коді. public class Filter&lt;T&gt; { private List&lt;T&gt; availableOptions = new ArrayList&lt;T&gt;(); private T …

8
Як порівняти значення загальних типів?
Як порівняти значення загальних типів? Я зменшив його до мінімальної вибірки: public class Foo&lt;T&gt; where T : IComparable { private T _minimumValue = default(T); public bool IsInRange(T value) { return (value &gt;= _minimumValue); // &lt;-- Error here } } Помилка: Оператор '&gt; =' не можна застосувати до операндів типу 'T' …

5
Як визначити обмеження загального типу для примітивних типів?
У мене є такий метод із загальним типом: T GetValue&lt;T&gt;(); Я хотів би обмежити T до примітивних типів, таких як int, string, float, але не класу. Я знаю, що можу визначити загальний для типу класу так: C GetObject&lt;C&gt;() where C: class; Я не впевнений, чи можливо це для примітивних типів …

8
Swift: перевірте, чи відповідає загальний тип протоколу
У мене є протокол, який я визначив так: protocol MyProtocol { ... } У мене також є загальна структура: struct MyStruct &lt;T&gt; { ... } Нарешті, у мене є загальна функція: func myFunc &lt;T&gt; (s: MyStruct&lt;T&gt;) -&gt; T? { ... } Я хотів би протестувати всередині функції, якщо тип T …
80 generics  swift 

8
C # Generics не дозволить обмеження типу делегатів
Чи можна визначити клас в C # таким, що class GenericCollection&lt;T&gt; : SomeBaseCollection&lt;T&gt; where T : Delegate Я не міг за все своє життя здійснити цього минулого вечора в .NET 3.5. Я спробував використовувати delegate, Delegate, Action&lt;T&gt; and Func&lt;T, T&gt; Мені здається, що це має бути якимось чином допустимим. Я …

7
Що означає "Т" у C #?
У мене досвід VB, і я переходжу на C # для нової роботи. Я також намагаюся покращити роботу в .NET загалом. Я бачив, як ключове слово "Т" часто використовується у зразках, які публікують люди. Що означає "Т" у C #? Наприклад: public class SomeBase&lt;T&gt; where T : SomeBase&lt;T&gt;, new() Що …
79 c#  .net  generics 

6
Чому IEnumerator <T> успадковує від IDisposable, а незагальний IEnumerator ні?
Я помітив, що загальний IEnumerator&lt;T&gt;успадковується від IDisposable, а незагальний інтерфейс IEnumerator - ні. Чому він розроблений саме таким чином? Зазвичай ми використовуємо оператор foreach для перегляду IEnumerator&lt;T&gt;екземпляра. Сформований код foreach насправді має блок try-нарешті, який викликає Dispose () у нарешті.

5
Даний ключ відсутній у словнику. Який ключ?
Чи є спосіб отримати значення даного ключа в наступному винятку в C # таким чином, що впливає на всі загальні класи? Я думаю, це велика помилка в описі винятків від Microsoft. "The given key was not present in the dictionary." Кращим способом буде: "The given key '" + key.ToString() + …

3
Чому ця програма Java 8 не компілюється?
Ця програма чудово компілюється в Java 7 (або в Java 8 з -source 7), але не вдається скомпілювати з Java 8: interface Iface&lt;T&gt; {} class Impl implements Iface&lt;Impl&gt; {} class Acceptor&lt;T extends Iface&lt;T&gt;&gt; { public Acceptor(T obj) {} } public class Main { public static void main(String[] args) { Acceptor&lt;?&gt; …

7
Чому компілятор C # скаржиться на те, що "типи можуть об'єднуватися", коли вони походять від різних базових класів?
Мій поточний некомпілюючий код подібний до цього: public abstract class A { } public class B { } public class C : A { } public interface IFoo&lt;T&gt; { void Handle(T item); } public class MyFoo&lt;TA&gt; : IFoo&lt;TA&gt;, IFoo&lt;B&gt; where TA : A { public void Handle(TA a) { } …
77 c#  generics 

5
.NET - Перетворити загальну колекцію на DataTable
Я намагаюся перетворити загальну колекцію (Список) у DataTable. Я знайшов такий код, який допоможе мені це зробити: // Sorry about indentation public class CollectionHelper { private CollectionHelper() { } // this is the method I have been using public static DataTable ConvertTo&lt;T&gt;(IList&lt;T&gt; list) { DataTable table = CreateTable&lt;T&gt;(); Type entityType …

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