在受歧视的联合中命名元组的元素
定义区分联合时,你可以命名元组类型的元素,并在模式匹配期间使用这些名称。
type Shape =
| Circle of diameter:int
| Rectangle of width:int * height:int
let shapeIsTenWide = function
| Circle(diameter=10)
| Rectangle(width=10) -> true
| _ -> false
另外,命名区分联合的元素可以提高代码的可读性和与 C#的互操作性 - 提供的名称将用于属性的名称和构造函数的参数。互操作代码中的默认生成名称是 Item
,Item1
,Item2
……