Se pasa el argumento tipo de método Eiffel
Pregunta
Me gustaría escribir un método de fundición de Eiffel, que lleva 'el tipo de yeso para' como un parámetro de tipo. ¿Hay una manera de pasar un tipo en un método en el Eiffel.
La única alternativa que puede pensar es crear una nueva clase para la conversión. Algo así como:
class
CAST [G, H]
feature
cast (in: LIST [G]): LIST [H]
do
-- cast code here
end
¿Hay una mejor manera de hacer esto en Eiffel. En C # puedo especificar que un método tiene parámetros de tipo separado de los parámetros de tipo de clase. ¿Hay una característica similar en Eiffel?
Estoy utilizando EiffelStudio 6.6.8.3873 GPL.
Gracias.
Solución
No es posible tener métodos genéricos, en los que el tipo de retorno es determinado por un parámetro pasado en Eiffel. Lo siento. Me encontré con el mismo problema. Tendrá que devolver una superclase común y usar un intento de asignación para obtener una referencia al objeto devuelto con el tipo correcto.