Возможно ли как-то задекларировать метод Foo<T,T2,T3>(T2 arg1, T3 arg2) where

T : Bar<T2,T3>
- чтобы при его использовании не приходилось указывать T2 и T3? Из декларации вроде и так понятно, что T включает дженерики T2 и T3, но при попытке вызвать Foo, компиллятор требует явного указания всех трех дженерик типов, хотя если указываешь T2 и T3, которые не соответствуют T1, сразу выдает ошибку компилляции. Хотел сделать красивую обертку, чтобы было меньше указаний на типы итд при обращении к методу, но получилось наоборот - компиллятор требует лишнюю информацию. Конкретный кейс - на скрине.
P.S. Пытался оформить метод как Foo<T<T2,T3>>()... - не сработало

5 ответов

25 просмотров

Зачем тебе там вообще T?

Да. Для этого все три дженерика надо замкнуть друг на друга в обьявлении. То есть, при обьявлении T у него T и в аргументе. Я это делал, когда свою абстрактную FSM писал

Aaa- Автор вопроса
Phantom
Зачем тебе там вообще T?

Изначальная идея в том, чтобы сделать универсальный фреймворк для внутриигровых всплывающих окон, которые будут вызывать колбек при закрытии с результатом выбора пользователя в кач. аргумента. T - это непосредственно тип окна, которое нужно отобразить в текущий момент, а T2 и T3 - всего лишь типы данных, которые оно принимает и возвращает соответственно. Может, у меня вообще неправильный подход к этой идее?

Aaa- Автор вопроса
Micktu 😬 Турутанов
Да. Для этого все три дженерика надо замкнуть дру...

Можно попросить пример? Не очень понял, хотя рад слышать, что это возможно

Aaa
Изначальная идея в том, чтобы сделать универсальны...

Ты нигде не используешь этот T, в коде который ты показал

Похожие вопросы

Обсуждают сегодня

Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Привет!) Кто как юзает переменные в строках?) Чисто ради интереса Вот так: echo "У меня {$bananasAmount} бананов"; Или вот так: echo "У меня ${bananasAmount} бананов";
Виталий
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
разработчик ботов скидывает портфолио, боты которые он уже создал. А вот как узнать что это именно он их создал?
Gosudar
4
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Карта сайта