Публикации по теме '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 просмотров
schedule
10.12.2023
Универсальные типы возврата 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 просмотров
schedule
18.01.2024
общий метод для проверки 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 просмотров
schedule
08.11.2023
Есть ли обходной путь для использования статических методов в универсальном классе?
У меня довольно простая проблема, но, похоже, в C # нет решения.
У меня около 100 Foo классов, каждый из которых реализует static FromBytes() метод. Есть также несколько общих классов, которые должны использовать эти методы для своих...
644 просмотров
schedule
27.12.2023
Есть ли название для этого шаблона
Я использовал этот шаблон много раз в самых разных местах, обычно вместе с шаблоном плагина.
Некоторые примеры того, как я использовал его, относятся к системам обмена сообщениями, например, для создания подписчиков на различные типы несвязанных...
184 просмотров
schedule
08.01.2024
Как обернуть 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 просмотров
schedule
27.12.2023
Отражение 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