Описание тега generics
Обобщения - это форма параметрического полиморфизма, встречающаяся в ряде языков, включая языки.NET, Java, Swift и Rust.
9
ответов
Проверка общего типа
Есть ли способ принудительного применения / ограничения типов, передаваемых примитивам? (bool, int, string и т. д.) Теперь я знаю, что вы можете ограничить универсальный параметр типа реализацией типа или интерфейса с помощью предложения where. Тем …
12 авг '08 в 15:07
8
ответов
Получить универсальный перечислитель из массива
В C# как получить общий перечислитель из данного массива? В приведенном ниже коде MyArray это массив MyType объекты. Я хотел бы получить MyIEnumerator показанным способом, но кажется, что я получаю пустой перечислитель (хотя я подтвердил, что MyArra…
13 авг '09 в 15:21
2
ответа
Generics: В чем разница между?, Object и необработанным типом одного экземпляра?
Я знаю разницу между Collection<?>, Collection<Object> а также Collection, Первый принимает только любой тип, второй должен разрешать все объекты, а третий не проверяется. Но для одного экземпляра (не коллекции), например ScheduledFuture…
30 сен '14 в 19:54
2
ответа
Тип параметра `T` может не жить достаточно долго
Я пытаюсь написать небольшую программу на Rust, но не могу заставить ее работать. Я воспроизвел ошибку в меньшем сценарии: fn main() { let name = String::from("World"); let test = simple(name); println!("Hello {}!", test()) } fn simple<T>(a: T…
19 апр '18 в 10:33
1
ответ
Приведение к IEnumerable<T>, где T - тип времени выполнения
Это странная проблема, с которой я столкнулся, включая рефлексию: Я создаю MyGenericType<T> во время выполнения, где T это тип времени выполнения: object genType = Activator.CreateInstance(typeof(MyGenericType<>).MakeGenericType(runtimeT…
22 фев '18 в 09:38
4
ответа
Ширина байта типа значения
Я хотел бы передать тип значения в функцию и установить для него повторяющуюся битовую комбинацию (FF, AA и т. Д.) По всей ширине переменной. Прямо сейчас я передаю значение с void foo(T val), где T: struct поэтому я могу использовать любой тип знач…
18 фев '09 в 14:20
6
ответов
Java объект для int: лучший способ?
У меня есть TreeSet, который будет полон целых чисел. Короче говоря, я пытаюсь начать цикл после последнего (наибольшего) значения, сохраненного в списке. Что я делаю сейчас, чтобы получить начальную переменную: Object lastObj = primes.last(); Integ…
20 май '09 в 20:47
2
ответа
Какой алгоритм выполняет определение типа T в статических методах только с <? супер T> <? расширяет T> args?
Collections класс имеет статический метод copy: public static <T> void ...copy(List<? super T> dest, List<? extends T> src) { //... ListIterator<? super T> di=dest.listIterator(); ListIterator<? extends T> si=src.listIt…
21 сен '15 в 22:00
1
ответ
Создание экземпляра универсального типа Java
Таким образом, у меня есть эта проблема, что я хочу иметь фабрику / менеджер класса UserManager, который управляет пользователями. И пользователи имеют как UserType1, так и UserType2. в настоящее время у меня есть это для UserManager. public abstrac…
12 июл '18 в 12:27
1
ответ
Проблемы с "где" в родовом наследовании
В следующем коде проблема на линии entities = doSpecialStuff(entities); потому что я "скучаю" по чему-то, где часть от моего doSpecialStuff() Methode Error The type 'T' cannot be used as type parameter 'T' in the generic type or method 'myWorkClass&…
03 май '13 в 07:59
2
ответа
Почему дженерики полностью отключены, когда вы игнорируете тип параметра?
Как продолжение этого вопроса, сначала фон Дан класс с этим объявлением: public class SomeClass<T> И подкласс, который не использует универсальный параметр: public class SomeSubClass extends SomeClass Метод в SomeClass объявлен следующим образ…
24 июн '09 в 19:43
1
ответ
C# - Принимая универсальный аргумент, используйте отражение, чтобы изменить свойства и вернуть универсальный аргумент
Я пытаюсь взять универсальный аргумент, манипулировать его свойствами через Reflection, а затем вернуть универсальный тип с измененными свойствами. public IEnumerable<T> GenerateTest() { var type = typeof(T); foreach (var field in type.GetProp…
17 фев '12 в 07:11
1
ответ
Введите аргументы в объявлениях подкласса
В настоящее время я изучаю дженерики и с трудом понимаю некоторые их аспекты. Я чувствую, что что-то упустил, поэтому вопрос может показаться глупым. Я понимаю, что есть: Заполнители, известные как "формальные параметры типа". Фактические "аргументы…
01 апр '16 в 13:37
3
ответа
Возврат универсального типа в WebService
Я зеленая рука в веб-сервисе. Я написал обобщенный класс в качестве держателя значения следующим образом: public class SearchResult<T> { private List<T> resultSet; } Затем я пишу метод веб-службы: public SearchResult<Book> getSearc…
10 дек '09 в 03:40
1
ответ
Сортировка универсального ArrayList из ArrayLists
У меня есть список точек. Я представлял это как ArrayList из ArrayLists. Я пытаюсь использовать дженерики, чтобы в списке можно было хранить целые числа, числа с плавающей запятой и т. Д. И обрабатывать их одинаково. Так что я: ArrayList<ArrayLis…
07 ноя '12 в 02:43
1
ответ
Обертка ObservableCollection для приведения к базовому типу
У меня есть класс под названием Client, который является подклассом Configurable, у меня есть ObservableCollection<Client> который мне нужно рассматривать как ObservableCollection<Configurable>, Это позволит мне привязать данные к списку…
08 дек '09 в 18:08
1
ответ
C# Generics: Могу ли я объединить перегруженные методы в один с различными типами данных возврата / ввода?
У меня есть 4 статических вспомогательных метода, которые я хочу объединить в один, если это возможно. Каждый метод идентичен за исключением типа данных входного параметра и установки значения в типах ReturnDto и ReturnDto. Я довольно новичок в Gene…
28 сен '17 в 16:13
6
ответов
В чем практическая разница между "ArrayList<A>" и "ArrayList<? Extends A>"?
Я посмотрел на вопросы q1, q2, q3, но они не совсем соответствуют моему вопросу. Обратите внимание, что ArrayList<A> and ArrayList<? extends A> должны использоваться для объявления переменной или параметра (не для создания нового универс…
14 апр '12 в 10:00
2
ответа
TypeScript - может ли общее ограничение предоставлять "разрешенные" типы?
Учитывая следующий код... type Indexable<TKey, TValue> = { [index: TKey]: TValue } Это приводит к следующей ошибке: Тип параметра подписи индекса должен быть "строка" или "число". Есть ли способ ограничить TKey быть "строкой" или "числом"?
23 окт '17 в 09:01
2
ответа
Scala - Как мне сделать метод "assertThrows"?
Я начал изучать Scala вчера, так что я довольно новичок в этом. Одна вещь, которую я люблю делать при изучении нового языка, это попытаться создать библиотеку микро-TDD. Это то, что я получил так далеко: def assert(condition: Boolean, message: Strin…
23 окт '11 в 12:18