Вы можете просто использовать затворы и функциональные отрывы для достижения этой цели. Вот пример:
foo(String x) => print('Foo: $x');
bar(String x) => print('Bar: $x');
main() {
final functions = [foo, bar, (String x) => print('Closure: $x')];
for (final f in functions) {
f('data');
}
}
, который будет выводить:
Foo: data
Bar: data
Closure: data