首页 > 解决方案 > 我可以为自己的类型使用特殊的通用语法吗?

问题描述

在 F# 中,某些类型具有特殊的通用语法(我不确定它叫什么),因此您可以执行以下操作:

int list // instead of List<int>
int option // instead of Option<int>

标签: genericsf#

解决方案


它在MSDN on F# Types中有介绍

在“通用类型”下:

泛型

类型参数通用类型名称 |'a list

或者

通用类型名称<类型参数列表> |list<'a>

和“构造类型”:

构造类型(提供特定类型参数的泛型类型)

类型参数泛型类型名称

或者

通用类型名称<类型参数列表>

type dave<'a> = {
    V : 'a
};;

let stringDave: dave<string> = { V = "string" };;
//val stringDave : dave<string> = {V = "string";}

let intDave : int dave = { V = 123 };;
//val intDave : dave<int> = {V = 123;}


推荐阅读