2013-07-12 63 views
3

我知道你可以在正式的参数列表中指定函数类型,但是我怎么做这个实例变量?我想这样做:什么是变量声明的dart函数类型语法?

class A<T> { 
    int compare(T a, T b); 
} 

其中compare是具有适当类型的函数变量。我想能写:

A a = new A(); 
a.compare = ... 

回答

6

您可以使用typedef:那飞镖已经附带了比较一个typedef

typedef int Comparison<T>(T a, T b); 
class A<T> { 
    Comparison<T> compare; 
} 
main(){ 
    A a = new A<int>(); 
    a.compare = (int a, int b) => a.compareTo(b); 
    print(a.compare(1, 2)); 
} 
+3

注:http://api.dartlang.org/docs/发布/最新/ dart_core/Comparator.html –

相关问题