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.

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top