Публикации по теме 'generics'
【TypeScript】Понимание дженериков за 5 минут
Что такое дженерики?
Во-первых, такие языки, как C# и Java, также имеют дженерики, поэтому они не ограничиваются TypeScript.
Обобщения, которые используют аргументы абстрактного типа, используются для реализации классов, функций и интерфейсов, типы которых не определены до тех пор, пока они фактически не используются.
Преимущества дженериков
Такие языки программирования, как Java, C#, TypeScript и т. д., имеют характеристику «языка со статической типизацией».
Статически..
Параметры Reified Type
Объяснение параметров овеществленного типа, как они работают, для чего их можно использовать и как может возникнуть соблазн спутать их со значениями.
Теги: # ФУНКЦИЯ КОТЛИНА
Эта статья является частью Kotlin Primer , авторитетного руководства по языку Kotlin, предназначенного для облегчения внедрения Kotlin внутри…
Вопросы по теме 'generics'
Внедрение установщика StructureMap в открытый универсальный тип?
Используя StructureMap, я пытаюсь использовать установщик-инъекцию для открытого универсального типа.
У меня есть абстрактный общий класс:
public abstract class Foo<T1, T2> : IMyInterface<T1,T2>
{
public ISomeDependency Bar {...
09.01.2024
Повышение приведения с помощью параметра универсального типа
Можно ли «преобразовать» общий класс, основанный на T, в общий класс, основанный на чем-то более общем, чем T?
Например, предположим, что у меня есть класс с именем Derived , который наследуется от класса с именем Base . Могу ли я когда-нибудь...
28.11.2023
Вывод ковариации и контравариантности в C # 4.0
Когда мы определяем наши интерфейсы в C # 4.0, мы можем пометить каждый из общих параметров как in или out . Если мы попытаемся установить общий параметр как out и это приведет к проблеме, компилятор выдаст ошибку, не позволяя нам это сделать....
19.12.2023
Синтаксис обобщений: классы против примитивных типов данных
Почему этот не работает:
ArrayList<LinkedList<int>>
где это делает:
ArrayList<LinkedList<Integer>>
???
03.11.2023
Экземпляр типа generic
Мой вопрос таков:
Почему нельзя создать экземпляр универсального типа с помощью new T (), а вместо этого с помощью newInstance () класса Class, который вы можете сделать?
23.11.2023
Как работает TypeLiteral в guice?
Как Guice TypeLiteral преодолевает процедуру стирания универсальных типов Java?
Это творит чудеса, но как это достигается?
09.12.2023
Невозможно изменить тип на допускающий значение NULL в универсальном методе
Я создаю универсальный конвертер
Вот пример кода универсального преобразователя
bool TryReaderParse<TType>(object data, out TType value)
{
value = default(TType);
Type returnType = typeof(TType);
object tmpValue = null;...
13.12.2023
Определение C# IQueryable для различных типов сущностей
//I need to deifne productQuery here
if (test == true)
{
var productQuery = ordersRepository.ProductIn; //it returns IQueryable<ProductIn> type
}
else
{
var productQuery = ordersRepository.ProductOut; //it...
08.12.2023
Общий метод с параметрами по сравнению с неуниверсальным методом с подстановочными знаками
Согласно этой записи в FAQ по Java Generics , в некоторых случаях универсальный метод не имеет эквивалентного неуниверсального метода, использующего типы с подстановочными знаками. Согласно этому ответу,
Если сигнатура метода использует...
23.11.2023
Сравните byte[] с T
Я хочу составить список указателей на места, которые содержат определенное значение в памяти процесса другого процесса. Значение может быть короткое, целое, длинное, строковое, логическое или что-то еще.
Моя идея состоит в том, чтобы использовать...
01.01.2024
Сопоставление общих свойств с отражением/приведением свойства к универсальному типу
Я использую отражение для отображения (установки свойств) одного класса (xSearchObject) из DTO (xSearchQuery). Я попытался сократить код, чтобы было легче увидеть, чего я пытаюсь достичь. Я не могу изменить SearchField , но могу изменить...
30.10.2023
Как функции C, такие как qsort, работают с разными типами данных?
В stdlib.h есть объявление функции qsort() с прототипом:
void qsort( void *ptr, size_t count, size_t size,
int (*comp)(const void *, const void *) );
Очевидно, что это универсальное программирование. Интересно, как это реализовать,...
30.12.2023
Дженерики Java и необработанный тип
Когда я пишу метод таким образом. Я получаю это предупреждение:
BaseEvent — это необработанный тип. Ссылки на универсальный тип BaseEvent должны быть параметризованы.
@Override
public <T extends BaseEvent> void actionPerformed(T...
21.11.2023
Включает параметры универсального типа
Я пишу некоторый код BLL, чтобы сидеть поверх инфраструктуры Entity (классы DAL, созданные с помощью DBContext, но это не имеет значения для этого вопроса). Вот одна из моих процедур:
public static Customer Get(int32 CustID,...
02.11.2023
Использование ArrayList абстрактного класса
У меня есть абстрактный класс C0. У меня есть несколько других классов, которые наследуются от C0. Они переопределяют абстрактные методы и имеют собственные специальные методы.
Я хочу создать ArrayList, содержащий каждый из этих...
08.12.2023
Переопределение дженериков Java внутри функции класса
У меня есть класс, предназначенный для реализации универсальной кучи, и у меня проблема с используемыми дженериками. Определение класса public class BinHeap <T extends Comparable<? super T>> {
В классе у меня есть функция для...
20.01.2024
Внедрение зависимостей в сочетании с универсальным
Я хорошо познакомился с внедрением зависимостей и возможностями слабосвязанных компонентов. Когда я попытался улучшить или развить это в образовательных целях, я наткнулся на проблему:
public interface IReader<TParameter, TOutput>
{...
22.11.2023
Лучше ли использовать дженерики или тип объекта для статического вспомогательного класса в Java?
На днях я писал программу, которая требовала от меня: получить частоту определенного объекта внутри ArrayList<String> , удалить все вхождения данного элемента и т. д. и т. д., не указанные в интерфейсе List . Я решил написать свой собственный...
18.01.2024
Parse Xamarin SDK значительно увеличивает размер приложения для iOS
Я использую Xamarin для создания своего приложения. До того, как я интегрировал Parse в свое приложение, размер моего двоичного файла (релизная сборка, все оптимизации, LLVM, armv7 и arm64) составлял 23 МБ. Я добавил Parse Xamarin SDK (с...
12.12.2023
Typescript: как выразить общую функцию, где тип ограничен одним из нескольких типов
Например, если метод добавляет два аргумента, a и b, где они должны быть одного типа, и этот тип должен быть либо строкой, либо числом.
Попытка 1:
function add(a: string | number, b: string | number) {
return a + b;
}
Это не...
19.12.2023
Новые материалы
Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..
Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально
Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..
Частный метод Python: улучшение инкапсуляции и безопасности
Введение
Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..
Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования
Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..
Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv)
Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..
Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..
Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..