Вопросы по теме 'type-constraints'

Статические методы расширения, поддерживающие ограничения элементов
Мне нужно реализовать статический метод расширения, поддерживающий ограничения членов для некоторых базовых примитивных типов, таких как целые числа, числа с плавающей запятой и т. Д. Вот мой код для целых чисел со знаком: module MyOperators =...
677 просмотров
schedule 03.01.2024

Что означает где T: class, new ()?
Не могли бы вы объяснить мне, что означает where T : class, new() в следующей строке кода? void Add<T>(T item) where T : class, new();
135691 просмотров
schedule 09.11.2022

Как настроить ограничение, чтобы ограничить поле Char набором значений?
У меня сегодня пердит мозг. В SQL Server (в настоящее время используется 2008), как настроить поле char для приема только определенной серии символов (примерно восемь букв с учетом регистра)? И мне нужно повторно использовать это «настраиваемое...
2865 просмотров

Почему ограничения типа не являются частью сигнатуры метода?
ОБНОВЛЕНИЕ: Начиная с C# 7.3, это больше не должно быть проблемой. Из примечаний к выпуску: Когда группа методов содержит несколько универсальных методов, аргументы типа которых не удовлетворяют их ограничениям, эти члены удаляются из набора...
1236 просмотров

Типобезопасный эквивалент ограничения параметра типа универсального метода на незакрытый тип данного интерфейса
В С# можно ли ограничить параметр типа универсального метода таким образом, чтобы он ограничивался незакрытым типом интерфейса безопасным способом? Позвольте мне уточнить... Например, у меня есть следующий псевдокод: public bool...
283 просмотров

Экземпляр функтора для GADT с ограничением типа
Сегодня я хотел исследовать, можно ли построить тип данных таким образом, чтобы он сохранял не данные типа своей сигнатуры типа, а другое его представление. Итак, вот моя попытка GADT, который имеет конструктор типа типа a , но конструктор данных...
1353 просмотров
schedule 17.04.2024

Будут ли доступны ограничения шаблона для шаблонов переменных?
В последнем документе об ограничениях шаблона представлен новый набор инструментов для ограничения аргументов шаблона. Также в C ++ предусмотрены 14 шаблонов переменных. Шаблоны переменных позволяют, среди прочего, определять константы с...
411 просмотров
schedule 11.07.2022

Найдите наибольший общий подтип двух типов Scala
В соответствии с этим вопросом я пытаюсь найти способ заставить компилятор Scala вывести наибольший общий подтип двух типов А и В. Что-то вроде «А без Б», где определение такое: (A without B = C) === (A = C with B) Или функция типа,...
315 просмотров
schedule 16.04.2022

D: Ограничение шаблона, чтобы показать, сопоставим ли данный тип
Как бы я написал ограничение шаблона для следующей структуры struct Foo (T, U) { } чтобы указать, что и T , и U должны быть сопоставимы, используя < ? Под этим я подразумеваю, что два T можно сравнить с < , а два U можно...
83 просмотров
schedule 27.03.2023

Ограничения обобщенного типа в Swift
В качестве упражнения я пытаюсь расширить Array в Swift, чтобы добавить функцию-член sum() . Это должно быть типобезопасно, так как я хочу, чтобы вызов sum() компилировался только в том случае, если массив содержит элементы, которые могут быть...
707 просмотров

Объединение ограничений с fundeps
У меня есть функция foo со множеством ограничений. Конечно, эти ограничения должны появляться в сигнатурах функций, использующих foo , поэтому я пытаюсь обернуть ограничения foo синонимом типа FooCtx a b ... :: Constraint . Например, foo...
70 просмотров

Типы ограничений в конструкторе GADT
У меня простой ADT data Concept a = Entity a | Role a | Relation a | Resource a | Sub (Concept a) Теперь я хочу создать GADT, используя этот ADT, который будет ограничивать сигнатуру типа его конструкторов. Этот код не будет работать, но я...
242 просмотров

Как определить метод scala с параметром типа, который не может быть Any
В приведенном ниже примере я хочу определить метод contains , который не компилируется, если a и b не относятся к одному и тому же базовому типу. В contains1 impl, если a равно Seq[Int] , а b равно String , T выводится как Any и...
132 просмотров
schedule 13.12.2022

Проблема с ограничениями внешнего ключа и созданием БД Mysql
У меня проблема с размышлением о том, как соединить две таблицы. У меня есть одна таблица с действиями (RAD): CREATE TABLE RAD ( rad_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, spec_id INT NULL, predp_id INT NULL, predf_id INT NULL,...
64 просмотров

Ограничение уровня типа Haskell
Мне любопытно, можно ли написать что-то подобное (псевдокод) в Haskell: data Clock = Clock {hour :: (0 <= Int <= 24), minutes :: (0 <= Int <= 60)} сделать невозможным (на уровне типа) создание чего-то вроде этого: let a = Clock...
118 просмотров
schedule 18.11.2022