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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top