Обобщения являются формой параметрического полиморфизма, встречающейся в ряде языков, включая языки .NET, Java, Swift и Rust.

Подробнее про generics...

Я работаю над конвертацией валюты на VS в С#, моя текущая задача заключается в том, как правильно конвертировать доллар в франк, евро в фунт стерлингов в франк, но когда я запускаю программирование, все работает нормально, пока я не введу сумму для конвертации в долларах это работает, и когда я пыт....
3 Фев 2022 в 11:32
Я хочу создать простую функцию, которая будет принимать ключ определенного объекта и значение для соответствующего ключа и присваивать новое значение объекту. Что-то вроде этого: interface MyObject { key1: string key2: number } const object: MyObject = { key1: 'abc', key2: 100 } c....
2 Фев 2022 в 17:06
С помощью следующего кода, как я могу улучшить его читаемость, используя отражение и дженерики? Это много повторяющегося кода, но я новичок в этих концепциях. "dl" - это интерфейс, но я не уверен, почему я не могу получить доступ к нужным мне свойствам с помощью .getType().getProperties(), он возв....
1 Фев 2022 в 15:43
Я изучаю дженерики в го. У меня есть структуры User и Member, и я хочу, чтобы функция возвращала User или Member. Как я могу этого добиться? Редактировать: я не хочу использовать interface{} или any....
1 Фев 2022 в 13:31
Если у меня есть общий <T2 extends T1>, делает ли компилятор вывод T1 super T2? У меня есть более сложная коллекция, которую я уменьшил до MWE ниже. Коллекция должна объединяться с любой такой коллекцией с элементами любого подтипа. Теперь мне интересно, почему вызов forEach в merge не принимается.....
31 Янв 2022 в 22:24
Я пытаюсь создать редуктор в RTK, который принимает два аргумента общего типа. Однако кажется невозможным разделить общий тип между функциями reducer и prepare. Вот пример того, чего я пытаюсь достичь type SetPayload<T> = { thingToBeSet: MyClass<T>; value: T; } export const mySlice = creat....
31 Янв 2022 в 20:54
from dataclasses import dataclass @dataclass class BaseProduct: ... @dataclass class ProductA(BaseProduct): a_specific_id: int @dataclass class ProductSubmissionCommand: product_id: str product: BaseProduct class AProductRequestSubmitter: def __call__(self, job_id: int, c....
31 Янв 2022 в 12:51
Как тип универсального класса может расширять несколько классов? Например, скажем, у меня есть I generic, что я хочу иметь возможность брать объекты, которые являются подклассами дыни или ягод, но не объекты, которые являются подклассами других подклассов Fruits? Я думал что-то вроде public class ....
31 Янв 2022 в 00:53
Следующий метод расширения возвращает множественную версию s, только если value не равно 1. public static string Pluralize<T>(this string s, T value) where T : struct, IComparable { return (value.CompareTo(1) == 0) ? s : s.Pluralize(); } Этот метод отлично работает, когда значение имеет тип int....
30 Янв 2022 в 20:53
Я столкнулся с проблемой, как выбрать только один элемент из списка типов ключей в общем. И я решаю это грязным способом, но я надеюсь написать больше хороших способов. Пример) Я хотел бы сделать dto для пользователей, и один тип пользователя выбран, а другие нет. // here 3 classes class User { .. ....
29 Янв 2022 в 23:31
Go представляет новый токен ~. ~T означает набор всех типов с базовым типом T Однако я не мог этого понять, попросите кого-нибудь помочь объяснить. Ниже приводится пример. type Ordered interface { Integer | Float | ~string } ....
28 Янв 2022 в 05:42
Почему в стандарте С++ нет стандартного списка типов? Я бы подумал, что что-то настолько полезное для универсального программирования (как показано в отражении ObjectSequence) было бы хорошим кандидатом на стандартизацию вместо множества реализаций вокруг. Есть ли планы добавить один?....
27 Янв 2022 в 13:27
Следующий код не скомпилируется import java.util.List; class Scratch { public static void main(String[] args) { Foo<Object> foo = new Foo<>(); Bar bar = new Bar(); bar.bar(List.of(foo)); // Okay List<Foo<Object>> foos = List.of(foo); bar.bar(foos); // Error } static ....
26 Янв 2022 в 22:50
Учитывая простой универсальный класс: private static class Container<T> { private List<T> aList; private T aValue; private Container(List<T> aList, T aValue) { this.aList = aList; this.aValue = aValue; } } Инициализируйте список этого класса: List<Container<?>> cont....
26 Янв 2022 в 13:03
Поскольку я сохраняю данные в формате json в Redis, когда я получаю их из других сервисов, мне нужно анализировать json как тип сервиса. Я приведу пример, который работает: case class Item(id: Int, name: String) object Item { import play.api.libs.json._ implicit val read = Json.reads[Item] i....
26 Янв 2022 в 11:34
Я использую Kotlin 1.6.10, Mockito 4.0.0 и Java 8, и у меня есть интерфейс Java, определенный следующим образом: public interface MyInterface { <D, T extends MyObject<T, D>> T doThings(T myObject); } Реализация этого интерфейса используется в приложении Kotlin, и у нас есть модульный тест, в ко....
26 Янв 2022 в 10:38
У меня есть такой код: type Constructable = {new(...args: any[]): any, prototype: any}; // Represents a class (that can be called with new) type WithOnlyType<O, T> = {[P in keyof O as O[P] extends T? P: never]: O[P]}; // https://stackoverflow.com/questions/51419176/how-to-get-a-subset-of-keyof-t-wh....
25 Янв 2022 в 22:51
У меня есть функция, которая принимает объект и имя класса (который содержится в этом объекте). Получить все свойства объекта несложно (keyof O), как и выяснить, является ли ключ классом (O[N] extends {new: (..args: any[]) => any}). Однако я не могу их объединить: function foo<O, N extends keyof O....
25 Янв 2022 в 18:18
У меня есть следующее определение интерфейса public interface IEncryptor { T Decrypt<T>(byte[] encryptedData) where T : class; } С этой реализацией (которая не должна иметь значения) internal class ThingyEncryptor : IEncryptor { public T Decrypt<T>(byte[] encryptedData) where T : class ....
25 Янв 2022 в 15:35
У меня есть класс public class ImportAdditionalService { public string ServiceName { get; set; } public decimal? Price { get; set; } } Мне нужно получить данные из двух столбцов в соответствии с этим классом из Excel, но мой метод использует Generics, где возникает исключе....
25 Янв 2022 в 12:45
У меня проблемы с дженериками в Котлине. Я хочу сделать универсальный интерфейс и реализацию и несколько типовых DAO. // Type parametrized DAO interface DaoInterface<T : Any> { fun <T : Any> getByCollectionId(collectionId: Long, clazz: Class<T>): List<T> } //Generic DAO implementation open cla....
25 Янв 2022 в 11:19
У меня есть общий класс Grid, который содержит Cell. Я планирую создать несколько производных классов для Grid (TriangleGrid, SquareGrid, HexGrid) и Cell (TriangleCell, SquareCell, HexCell). Каждый Grid будет иметь метод GetAdjacentCells. abstract public class Grid<T> where T:Cell { protected T[....
25 Янв 2022 в 10:49
У меня есть функция, которая ранее была реализована следующим образом export function insertItemInQueue( queueRef: RefObject<Partial<IMyRow>[]>, item: Partial<IMyRow> ) { console.log(item.ID) queueRef.current.push(item); } Чтобы использовать дженерики, я изменил его на export function i....
25 Янв 2022 в 04:55
У меня есть словарь, называемый пользователями, я хочу изменить/изменить определенное значение в словаре, делая это, я пытаюсь найти это значение, выполняя поиск по ключам.. я не знаю, как изменить это значение на что-то другое :) Я не конечно, если это даже возможно, но интересно, возможно ли, как....
25 Янв 2022 в 04:16
На самом деле, хотя приведение было бы идеальным, даже «обновление» производного типа будет работать в моем конкретном сценарии. Я подозреваю, что это невозможно, если у меня нет доступа к конкретному типу универсального параметра. public class OrderableCollection<T> : Collection<T> where T : IOrde....
24 Янв 2022 в 22:13