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。