我將一個方法傳遞給另一個類并將其存盤在一個變數中,我該如何強型別化它?
...
Class2(someMethod);
...
void someMethod();
Class2 {
final dynamic thatMethod;
Class2(this.thatMethod);
}
檢查runtimeType退貨() => void,
uj5u.com熱心網友回復:
根據 https://dart.dev/guides/language/effective-dart/design#prefer-signatures-in-function-type-annotations
你可以做 Class2(returnTypeOfFn Function(inputArgType) fn)
例如Class(void Function() fn)只接受()=>void函式
可運行的例子
void main() {
acceptFunction(() => print('hi there'));
acceptFunction((String trd) => print('this is invalid'));
acceptFunction(()=>return "Still invalid");
}
acceptFunction(void Function() func) {
func.call();
}
第一行有效
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/395286.html
標籤:镖
