F# RequireQualifiedAccess
示例
使用该RequireQualifiedAccess属性,工会案例必须被称为MyUnion.MyCase而不是justMyCase。这样可以防止在封闭的名称空间或模块中发生名称冲突:
type [<RequireQualifiedAccess>] Requirements =
None | Single | All
//使用具有合格访问权限的DU
let noRequirements = Requirements.None
//这里,“无”仍指标准的F#选项情况
let getNothing () = None
//编译器错误,除非已在所有其他地方定义了All
let invalid = All例如,如果System已打开,请Single参阅System.Single。与工会的案件没有冲突Requirements.Single。