我想在Eiffel中编写一个将“要强制转换的类型”作为类型参数的强制转换方法。有没有一种方法可以将类型传递到Eiffel中的方法中?
我能想到的唯一选择是为转换创建一个新类。类似:
class CAST [G, H] feature cast (in: LIST [G]): LIST [H] do -- cast code here end
在埃菲尔有更好的办法吗?在C中,我可以指定一个方法接受与类类型参数分离的类型参数。埃菲尔铁塔有类似的特点吗?
我使用的是艾菲尔工作室6.6.8.3873 gpl。
谢谢。
不可能有泛型方法,其中返回类型由在eiffel中传递的参数确定。对不起的。 我也遇到了同样的问题。您将返回一个公共超类,并使用赋值尝试获取对返回的具有正确类型的对象的引用。