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