¿Es posible implementar una clase restringida a dos parámetros genéricos únicos?Una clase genérica con dos tipos no iguales (únicos)
Si no es así, ¿es porque no se ha implementado o porque sería imposible dada la estructura del lenguaje (herencia)?
me gustaría algo de la forma:
class BidirectionalMap<T1,T2> where T1 != T2
{
...
}
Me estoy poniendo en práctica un Bidirectional dictionary. Esto es principalmente una cuestión de curiosidad, no de necesidad.
Parafraseado de los comentarios:
Dan: "¿Cuáles son las consecuencias negativas si no se cumple esta limitación"
Yo: "Entonces el usuario podría indexar con el mapa [t1] y el mapa [t2]. Si fueran del mismo tipo, no habría distinción y no tendría ningún sentido".
Dan: El compilador realmente permite [dos parámetros de tipo genérico para definir sobrecargas de método distintas], así que tengo curiosidad; ¿elige arbitrariamente uno de los métodos para llamar?
Siempre puede lanzar un 'nuevo ShouldBeCompileTimeError()' en el constructor . :-) – foson
probablemente porque no tiene sentido, son genéricos, algo que no debería estar "restringido" por tipos. – GriffinHeart
Por curiosidad, ¿cuál es la consecuencia negativa si no se cumple esta restricción? Una asignación entre objetos del mismo conjunto es un requisito muy común. –