Argumento do tipo de passagem para o método Eiffel
Pergunta
Gostaria de escrever um método de elenco em Eiffel, que leva 'o tipo para lançar' como um parâmetro de tipo. Existe uma maneira de passar um tipo em um método em Eiffel.
A única alternativa que consigo pensar é criar uma nova classe para a conversão. Algo como:
class
CAST [G, H]
feature
cast (in: LIST [G]): LIST [H]
do
-- cast code here
end
Existe uma maneira melhor de fazer isso em Eiffel. Em C#, posso especificar que um método leva parâmetros de tipo separados dos parâmetros do tipo de classe. Existe uma característica semelhante em Eiffel?
Estou usando o EiffelStudio 6.6.8.3873 GPL.
Obrigado.
Solução
Não é possível ter métodos genéricos, onde o tipo de retorno é determinado por um parâmetro passado em Eiffel. Desculpe. Eu tive o mesmo problema. Você retornará uma superclasse comum e usará uma tarefa tenta obter uma referência ao objeto retornado com o tipo certo.