dieron una interfaz genérica como la siguienteGenéricos en Scala: implementar una interfaz/rasgo dos veces?
interface I<T> {
void m(T t);
}
que pueda en C# crear una clase que implementa I dos veces (o más) con diferentes tipos suministrados por T, por ejemplo,
class C : I<int>, I<String> {
public void m(int i) { }
public void m(String s) { }
}
Esto no se puede hacer en Java debido a la eliminación de la información de tipo genérico, pero es posible que algo como esto se logrará en Scala?
Puede describir en el código Scala lo que desea hacer. Mucha gente aquí no está familiarizada con C#. – Jus12
Bueno, no estoy muy familiarizado con Scala (tratando de aprender :)). Sin embargo, el código anterior debe ser fácil de entender para cualquier persona que conozca Java, siempre que sepa que ":" después de "clase C" en esta configuración significa "implementa" en Java-speak. Lo que he intentado en Scala es convertirlo en un rasgo (simplemente reemplazar "interfaz" por "rasgo"), y luego definir C como "la clase C se extiende I con I {...", pero eso no funciona . –
Eyvind
En Scala Los tipos genéricos están encerrados en '[]', por lo que haría esto como 'I [Int]' y 'I [String]'. ¿Has intentado usar 'ClassManifest' en la declaración? – Jus12