Можно ли реализовать класс, ограниченный двумя уникальными универсальными параметрами?
Если это не так, это потому, что он не реализован или потому что это было бы невозможно с учетом языковой структуры (наследования)?
Мне бы хотелось что-нибудь в форме:
class BidirectionalMap where T1 != T2
{
...
}
Я реализую Двунаправленный словарь . Это в основном вопрос любопытства, а не необходимости.
Перефразируя комментарии:
Дэн: «Каковы отрицательные последствия, если это ограничение не выполняется?»
Я: «Тогда пользователь мог бы индексировать с помощью map [ t1] и map [t2]. Если бы они были одного и того же типа, не было бы никакого различия, и это не имело бы никакого смысла »
Дэн: Компилятор фактически позволяет [двум параметрам универсального типа определять различные перегрузки методов] , поэтому мне любопытно; он произвольно выбирает один из методов для вызова?