代码之家  ›  专栏  ›  技术社区  ›  Rouan van Dalen

将类型参数传递到Eiffel方法

  •  2
  • Rouan van Dalen  · 技术社区  · 15 年前

    我想在Eiffel中编写一个将“要强制转换的类型”作为类型参数的强制转换方法。有没有一种方法可以将类型传递到Eiffel中的方法中?

    我能想到的唯一选择是为转换创建一个新类。类似:

    class
       CAST [G, H]
    
    feature
    
       cast (in: LIST [G]): LIST [H]
          do
             -- cast code here
          end
    

    在埃菲尔有更好的办法吗?在C中,我可以指定一个方法接受与类类型参数分离的类型参数。埃菲尔铁塔有类似的特点吗?

    我使用的是艾菲尔工作室6.6.8.3873 gpl。

    谢谢。

    1 回复  |  直到 14 年前
        1
  •  0
  •   Johannes    14 年前

    不可能有泛型方法,其中返回类型由在eiffel中传递的参数确定。对不起的。 我也遇到了同样的问题。您将返回一个公共超类,并使用赋值尝试获取对返回的具有正确类型的对象的引用。