Публикации по теме 'generics'


Дженерики и вариации
Привет, любители дженериков и типобезопасности. Я давно хотел написать статью о Generics & Variance, но не мог начать. На эту тему уже написано так много замечательных статей и видео, что я не мог придумать, как добавить какую-то ценность. Но здесь я делаю попытку. Если вы эксперт, вы можете проверить содержимое ниже, или если вы новичок, вы можете просто получить несколько новых выводов. Давайте начнем. Дженерики, какие они? Концепция Generics была впервые применена в языке..

Вопросы по теме 'generics'

Как можно добавлять элементы в универсальную коллекцию с подстановочными знаками?
Почему я получаю ошибки компилятора с этим кодом Java? 1 public List<? extends Foo> getFoos() 2 { 3 List<? extends Foo> foos = new ArrayList<? extends Foo>(); 4 foos.add(new SubFoo()); 5 return foos; 6 } Где...
20451 просмотров
schedule 09.11.2023

Как загрузить универсальный тип, содержащий вложенные типы, из динамически загружаемых сборок?
В сборке, загруженной в текущий домен приложения с помощью Assembly.LoadFrom , у меня есть следующий код: [TypeConverter(typeof(EnumConverter<Shapes>))] public enum Shapes { Triangle, Square, Circle } Универсальный EnumConverter...
2654 просмотров
schedule 30.11.2023

Смешивание параметров типа и абстрактных типов в scala
Я пытаюсь использовать ответ на предыдущий вопрос для реализации небольшого графика библиотека. Идея состоит в том, чтобы рассматривать графы как совокупности, в которых вершины охватывают элементы коллекции. Я хотел бы использовать абстрактные...
2422 просмотров
schedule 03.01.2024

Дженерики Java + статические фабричные методы = [паника]
Я думал, что уже разберусь с дженериками Java. Но теперь я снова беспомощен. У меня есть общий класс, в котором c-tor создает экземпляр с правильным типом, а статический фабричный метод создает несоответствие типов. Посмотрите на следующий код:...
3006 просмотров

Универсальные типы возврата Marshal для com-взаимодействия
Можно ли маршалировать универсальный возвращаемый тип как неуниверсальный для COM-взаимодействия? Скажем, у меня есть следующий класс: [ComVisible(true)] public class Foo { public IEnumerable<string> GetStr() // Generic return type...
634 просмотров
schedule 18.01.2024

полиморфизм общих типов
public class A {} public class B : A {} теперь, как лучше всего заставить это работать List<A> a; List<B> b = new List<B>(); a = b; // throw Cannot convert List<B> to List<A> Спасибо
676 просмотров
schedule 27.10.2023

Google Gson - десериализовать список ‹class› объекта? (общий тип)
Я хочу передать объект списка через Google Gson, но не знаю, как десериализовать общие типы. Что я пробовал после просмотра этого ( BalusC ответ): MyClass mc = new Gson().fromJson(result, new List<MyClass>(){}.getClass()); но...
356189 просмотров
schedule 14.12.2023

Как boost::lexical_cast принимает только один тип шаблона?
Я просмотрел беспорядок, который представляет собой lexical_cast.hpp, и это продолжает ускользать от меня. Как lexical_cast, чье «базовое определение» принимает как источник, так и место назначения шаблона, может принимать такие грамматики, как...
191 просмотров

общий метод для проверки int, double. Как использовать GetType()?
Я пытаюсь написать метод проверки. Например: для двойного это выглядит так: protected bool ValidateLoopAttributes(string i_value, double i_threshold) { double result; if (!(double.TryParse(i_value, out result) &&...
1951 просмотров
schedule 06.01.2024

Java Generics (ограниченные подстановочные знаки)
Согласно книге Джошуа Блоха «Эффективная Java» существует правило о том, как/когда использовать ограниченные подстановочные знаки в дженериках. Это правило PECS (Producer-Extends, Comsumer-Super). Когда я изучаю следующий пример:...
1215 просмотров

Есть ли обходной путь для использования статических методов в универсальном классе?
У меня довольно простая проблема, но, похоже, в C # нет решения. У меня около 100 Foo классов, каждый из которых реализует static FromBytes() метод. Есть также несколько общих классов, которые должны использовать эти методы для своих...
644 просмотров
schedule 27.12.2023

Есть ли название для этого шаблона
Я использовал этот шаблон много раз в самых разных местах, обычно вместе с шаблоном плагина. Некоторые примеры того, как я использовал его, относятся к системам обмена сообщениями, например, для создания подписчиков на различные типы несвязанных...
184 просмотров

Как обернуть API сеанса Hibernate, чтобы избежать предупреждения о непроверенных дженериках
Я кодирую оболочку для Hibernate Session API: @SuppressWarnings("unchecked") public <T> List<T> execQuery(String hql){ Session s=sf.getCurrentSession(); return s.createQuery(hql) .list(); } Функция...
112 просмотров
schedule 18.11.2023

Scala: сопоставление шаблонов с общими классами case
Можно ли сопоставить общие классы случаев? Идея состоит в том, чтобы использовать некоторые общие классы case в качестве сообщений между акторами. Это мой подход: есть ли способ сделать это возможным? case class EbTreeDataObject[T](uId: Long,...
1619 просмотров
schedule 08.11.2023

Как установить значения переменных класса без использования сеттеров
Я хочу вставить значение в переменную Object без использования сеттеров. Как можно, если это возможно. это пример Class X{ String variableName; // getters and setters } Теперь у меня есть функция, которая содержит variable name ,...
8552 просмотров
schedule 04.01.2024

Массив поиска для объекта предоставленного типа
У меня есть массив животных. Я хочу найти его для определенного типа подкласса. Массив Animals всегда будет содержать только по одному экземпляру каждого типа подкласса. Я пробовал следующее, что не работает. Я получаю сообщение об ошибке...
61 просмотров
schedule 24.12.2023

ArrayLiteralConvertible: обычный протокол?
Пытаюсь понять и оценить, как работает ArrayLiteralConvertible... struct Struct<T>: ArrayLiteralConvertible { init(arrayLiteral elements: T...) { for element in elements { print(element) } } } let str:...
170 просмотров
schedule 08.11.2023

Фабрика запросов Gwt. Дженерики и наследование на стороне клиента
Я пытаюсь написать общий класс, чтобы избежать повторения кода. Я хотел бы иметь общие методы для: Получить объект/модель с сервера по идентификатору. Получить список всех сущностей/моделей с сервера. Отправить на сервер и сохранить в db...
240 просмотров

Отражение Java и дженерики - отсутствует информация о параметризованном типе.
Я хотел бы восстановить подпись метода, используя отражение в Java 8. Я столкнулся с некоторыми проблемами с универсальными методами. В частности, я не нахожу ничего, что помогло бы восстановить информацию о случаях «расширения» или «супер» в...
179 просмотров
schedule 09.12.2023

Противоречивые реализации трейта в Rust
Я хочу реализовать собственный трейт для &'a str и для целых чисел до i32 , но Rust не позволяет мне: use std::convert::Into; pub trait UiId { fn push(&self); } impl<'a> UiId for &'a str { fn push(&self) {} }...
5313 просмотров
schedule 15.11.2023