Обобщения являются формой параметрического полиморфизма, встречающейся в ряде языков, включая языки .NET, Java, Swift и Rust.
Я работаю над конвертацией валюты на VS в С#, моя текущая задача заключается в том, как правильно конвертировать доллар в франк, евро в фунт стерлингов в франк, но когда я запускаю программирование, все работает нормально, пока я не введу сумму для конвертации в долларах это работает, и когда я пыт....
Я хочу создать простую функцию, которая будет принимать ключ определенного объекта и значение для соответствующего ключа и присваивать новое значение объекту. Что-то вроде этого:
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....
Если у меня есть общий <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....
Как тип универсального класса может расширять несколько классов? Например, скажем, у меня есть I generic, что я хочу иметь возможность брать объекты, которые являются подклассами дыни или ягод, но не объекты, которые являются подклассами других подклассов Fruits? Я думал что-то вроде
public class ....
Следующий метод расширения возвращает множественную версию 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....
Я столкнулся с проблемой, как выбрать только один элемент из списка типов ключей в общем.
И я решаю это грязным способом, но я надеюсь написать больше хороших способов.
Пример) Я хотел бы сделать dto для пользователей, и один тип пользователя выбран, а другие нет.
// here 3 classes
class User { .. ....
29 Янв 2022 в 23:31
Go представляет новый токен ~.
~T означает набор всех типов с базовым типом T
Однако я не мог этого понять, попросите кого-нибудь помочь объяснить.
Ниже приводится пример.
type Ordered interface {
Integer | Float | ~string
}
....
Почему в стандарте С++ нет стандартного списка типов? Я бы подумал, что что-то настолько полезное для универсального программирования (как показано в отражении ObjectSequence) было бы хорошим кандидатом на стандартизацию вместо множества реализаций вокруг. Есть ли планы добавить один?....
Следующий код не скомпилируется
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 ....
Учитывая простой универсальный класс:
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....
Поскольку я сохраняю данные в формате 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, и у нас есть модульный тест, в ко....
У меня есть такой код:
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, где возникает исключе....
У меня проблемы с дженериками в Котлине. Я хочу сделать универсальный интерфейс и реализацию и несколько типовых DAO.
// Type parametrized DAO
interface DaoInterface<T : Any> {
fun <T : Any> getByCollectionId(collectionId: Long, clazz: Class<T>): List<T>
}
//Generic DAO implementation
open cla....
У меня есть общий класс 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....