繁体   English   中英

Dart相当于Ruby的instance_eval

[英]Dart equivalent of Ruby's instance_eval

Ruby有一个非常真正的方法,叫做instance_eval ,它允许在特定实例的上下文中评估代码块。 这很棒,因为可以在不同的上下文中使用相同的代码块,并根据上下文如何定义某些方法来获得不同的结果。 Dart中有等同的东西吗? 换句话说,我可以从一个类中获取一个方法,然后在另一个类中的另一个实例上附加并执行它,或者甚至通过让用户传入与该方法相对应的代码来定义一个方法。 我知道可以使用子类来模拟这种形式的有限形式。

似乎没有可能在Dart中这样做。 但是您可以根据需要使用几种方法:

  1. 使用上下文作为此函数的参数创建一个函数:

    someFunction(context,arg1,arg2){...}

  2. 使用mixins: https : //www.dartlang.org/articles/mixins/

  3. 使用泛型: https//www.dartlang.org/articles/optional-types/#generics

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM