Вопросы по теме 'contravariance'
Преобразование из IEnumerable‹Object› в IEnumerable‹string›
Недавно я обнаружил очень удивительное поведение в С#. У меня был метод, который принимает IEnumerable<Object> в качестве параметра, и я передавал IEnumerable<string> , но это невозможно. В то время как в С# все можно преобразовать в...
15386 просмотров
schedule
18.03.2023
Разница между ковариацией и контр-дисперсией
Мне сложно понять разницу между ковариацией и контравариантностью.
31787 просмотров
schedule
06.05.2022
может ли кто-нибудь объяснить связь между ковариантностью/контравариантностью типов и теорией категорий?
Я только начинаю читать о теории категорий и был бы очень признателен, если бы кто-нибудь мог объяснить связь между контравариантностью/ковариантностью CS и теорией категорий. Какими могут быть некоторые примеры категорий (т.е. каковы их...
749 просмотров
schedule
08.12.2023
Объяснение ковариантности, инвариантности и контравариантности простым английским языком?
Сегодня я прочитал несколько статей о ковариантности, контравариантности (и инвариантности) в Java. Я читал статьи в Википедии на английском и немецком языках, а также некоторые другие сообщения в блогах и статьи IBM.
Но я все еще немного не...
37008 просмотров
schedule
07.06.2022
Разве ковариация/контравариантность не должна позволять это в С# 4.5?
private Dictionary<Type, List<IDataTransferObject>> dataStore = new Dictionary<Type, List<IDataTransferObject>>();
public void Insert<T>(T dto) where T : IDataTransferObject
{
if (!dataStore.ContainsKey(typeof(T)))...
683 просмотров
schedule
09.09.2022
Почему эти контравариантные типы аргументов считаются безопасными?
Я только что узнал в своем классе языков программирования, что «контравариантные типы аргументов на самом деле были бы безопасными, но они не были сочтены полезными и, следовательно, не поддерживаются в практических языках». Несмотря на то, что они...
146 просмотров
schedule
13.09.2022
Частичное применение дженериков для ограничений типа
В настоящее время я пытаюсь создать общий интерфейс, в котором каждый (общий) класс, производный от него, будет иметь метод, принимающий делегата, который принимает параметр типа и возвращает другой класс того же типа, только с другим параметром типа....
106 просмотров
schedule
30.12.2023
Использование подтипа в качестве параметра типа в классе
Рассмотрим следующие фрагменты кода
public static <T> String typeName1(Class<T extends Object> c) {
return c.getSimpleName();
}
public static String typeName2(Class<? extends Object> c) {
return...
31 просмотров
schedule
22.06.2023
Общее свойство класса Kotlin
Я знаю, что это может показаться повторяющимся вопросом, но я озадачен тем, как работают инвариантность, ковариантность и контравариантность.
Я не могу понять, почему я не могу скомпилировать этот фрагмент:
class Test<X:...
195 просмотров
schedule
10.07.2022
Используйте суперметод с параметром подтипа
Я пытаюсь реализовать некоторую функцию в суперклассе, поэтому мне не нужно всегда повторять ее в своих дочерних элементах. Образец:
trait Animal {
def applyF(transition: Animal => Animal): Animal = transition(this) // Animal as param and...
46 просмотров
schedule
23.05.2024
Mediatr с универсальным обработчиком и запросом
Я работаю над приложением веб-API ASP.NET Core 2.2 с Mediatr.
У меня есть обработчик, который выглядит так -
public class MyQueryHandler<T> : IRequestHanlder<MyQuery<T>, IQueryable<T>>
{
public...
6202 просмотров
schedule
26.03.2023
C # не понимает ковариацию и контравариантность делегатов
В течение долгого времени я пытался понять полезность входных и исходящих параметров в связи с дженериками в C #, и я просто не могу вбить это в голову (я знаю, как часто этот вопрос задают в StackOverflow). Я обычно понимаю, что такое ковариация и...
180 просмотров
schedule
29.07.2022
Почему нельзя перечислить‹? extends Animal› заменить на List‹Animal›?
Рассмотрим следующий код:
public class Main {
static class Animal {}
static class Dog extends Animal {}
static List<? extends Animal> foo() {
List<Dog> dogs = new ArrayList<>();
return dogs;
}...
159 просмотров
schedule
25.10.2023
Алгоритм получения естественной карты
Эта запись Reddit Эдварда Кметта дает конструктивное определение естественная карта , та, что из теоремы о свободе для fmap (которую я прочитал в еще одном сообщение Эдварда Кметта ):
Для заданных f , g , h и k таких, что f . g = h...
124 просмотров
schedule
15.08.2023