当它在一个类型前面时,"^"是什么意思?
例:
int:^ T - > int
string:^ T - > string
Carsten.. 8
这表示静态分辨的类型参数
来自MSDN:
静态解析的类型参数是一个类型参数,在编译时而不是在运行时用实际类型替换.它们前面有一个插入符号(^).
所以它非常相似,'T
但你可以使用它来给出成员约束,编译器会在编译时解析它们(显然) - 通常你只是使用inline
而且类型推断会为你解决 - 但是有一些相当的使用此(不常用)功能的高级技巧(例如FsControl)
let inline add a b = a + b val inline add : a: ^a -> b: ^b -> ^c when ( ^a or ^b) : (static member ( + ) : ^a * ^b -> ^c)
将添加这样的约束以指示这将适用于所有数字类型(它将向静态运算符添加成员约束(+)
)
这表示静态分辨的类型参数
来自MSDN:
静态解析的类型参数是一个类型参数,在编译时而不是在运行时用实际类型替换.它们前面有一个插入符号(^).
所以它非常相似,'T
但你可以使用它来给出成员约束,编译器会在编译时解析它们(显然) - 通常你只是使用inline
而且类型推断会为你解决 - 但是有一些相当的使用此(不常用)功能的高级技巧(例如FsControl)
let inline add a b = a + b val inline add : a: ^a -> b: ^b -> ^c when ( ^a or ^b) : (static member ( + ) : ^a * ^b -> ^c)
将添加这样的约束以指示这将适用于所有数字类型(它将向静态运算符添加成员约束(+)
)