Передача аргумента типа в метод Eiffel - PullRequest
2 голосов
/ 12 августа 2010

Я хотел бы написать метод приведения в Eiffel, который принимает «тип для приведения» в качестве параметра типа.Есть ли способ передать тип в метод в Eiffel.

Единственная альтернатива, о которой я могу подумать, - это создать новый класс для преобразования.Что-то вроде:

class
   CAST [G, H]

feature

   cast (in: LIST [G]): LIST [H]
      do
         -- cast code here
      end

Есть ли лучший способ сделать это в Eiffel.В C # я могу указать, что метод принимает параметры типа отдельно от параметров типа класса.Есть ли в Eiffel похожая функция?

Я использую EiffelStudio 6.6.8.3873 GPL.

Спасибо.

1 Ответ

0 голосов
/ 22 августа 2011

Невозможно иметь универсальные методы, где тип возвращаемого значения определяется передаваемым параметром в Eiffel. Сожалею. Я столкнулся с той же проблемой. Вам нужно будет вернуть общий суперкласс и использовать попытки присвоения, чтобы получить ссылку на возвращаемый объект с правильным типом.

...