我有这个注释:
class Handler {
final Function onListen;
final Function onPause;
final Function onResume;
final Function onCancel;
const Handler({this.onListen, this.onPause, this.onResume, this.onCancel});
}
并像这样使用它:
abstract class Test implements ViewModel<TestController> {
static onListen() {
print('onListen');
}
@Handler(onListen: onListen)
Stream<String> get messages;
factory Test() = _$Test;
Test._();
}
到目前为止,此方法有效,但是有没有办法使用非
static
方法作为我的注释的参数?当我删除
static
时,出现以下错误:常量创建的参数必须是常量表达式。 最佳答案
不,实例方法不能是const,注释必须是const,
因此,您只能将静态方法或顶级函数用作注释的参数。