1
我想通過typedef定義一個函數,然後在調用它時傳遞正確的Type。 事情是這樣的:Dart:帶泛型的typedef似乎不起作用
typedef testFn<T>();
main() {
testFn tester;
tester = testerFn;
tester<int>(); // Error: The method '() → dynamic' is declared with 0 type parameters, but 1 type arguments were given.
}
testerFn<T>() {//Do something}
我不知道這是一個錯誤或沒有,但,無論如何,我怎麼我可以解決類似的東西?
謝謝喬納斯。 我做了一點修改: 'typedef testFn(T value); class TestF { final testFn _f; const TestF(final testFn this._f); eval(T value)=> _f(value); } testerFn (T value)print('testFn!$ {value.toString()}'); } main(){ TestF c = const TestF(testerFn); (9); } ' 我的目標是避免將錯誤的變量傳遞給函數的可能性。現在,如果我將代碼更改爲'c.eval('Not OK');'我得到一個錯誤。所以,你的解決方案的作品 –
太好了。這個解決方案並不明顯,但我遇到了一個熟悉的問題:-) Stackoverflow有一個用於標記已解決問題的系統。在答案的左邊有複選標記,你可以標記你是否認爲它已經解決。 –
喬納斯,你認爲我寫的問題是飛鏢缺陷還是我缺少什麼? –