将类型参数传递给 Eiffel 方法
我想在 Eiffel 中编写一个强制转换方法,它将“要强制转换的类型”作为类型参数。有没有办法将类型传递到 Eiffel 中的方法中。
我能想到的唯一选择是为转换创建一个新类。比如:
class
CAST [G, H]
feature
cast (in: LIST [G]): LIST [H]
do
-- cast code here
end
在埃菲尔铁塔中有没有更好的方法来做到这一点。在 C# 中,我可以指定方法采用与类类型参数分开的类型参数。 Eiffel有类似的功能吗?
我正在使用 EiffelStudio 6.6.8.3873 GPL。
谢谢。
I would like to write a cast method in Eiffel which takes 'the type to cast to' as a type parameter. Is there a way to pass a type into a method in Eiffel.
The only alternative I can think of is to create a new class for the conversion. Something like:
class
CAST [G, H]
feature
cast (in: LIST [G]): LIST [H]
do
-- cast code here
end
Is there a better way to do this in Eiffel. In C# I can specify that a method takes type parameters separate from the class type parameters. Is there a similar feature in Eiffel?
I am using EiffelStudio 6.6.8.3873 GPL.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不可能有泛型方法,其中返回类型由 Eiffel 中传递的参数确定。对不起。
我遇到了同样的问题。您将返回一个公共超类,并使用赋值尝试获取对具有正确类型的返回对象的引用。
It's not possible to have generic methods, where the return type is determined by a passed parameter in Eiffel. Sorry.
I ran into the same issue. You will have return a common superclass and use an assignment attempts to get a reference to the returned object with the right type.