Types 输入别名/缩写可以';你不能访问成员吗?
F#类型别名并没有像我预期的那样工作。e、 gTypes 输入别名/缩写可以';你不能访问成员吗?,types,f#,aliases,Types,F#,Aliases,F#类型别名并没有像我预期的那样工作。e、 g type MyMap = Map<string, string> let myMap = ["One", "1"; "Two", "2"] |> Map.ofList let myMap2= ["One", "1"; "Two", "2"] |> MyMap.ofList type MyMap=Map 让myMap=[“一”、“一”、“二”、“二”]|>Map.of列表 让myMap2=[“一”,“一”,“二”,“二”]
type MyMap = Map<string, string>
let myMap = ["One", "1"; "Two", "2"] |> Map.ofList
let myMap2= ["One", "1"; "Two", "2"] |> MyMap.ofList
type MyMap=Map
让myMap=[“一”、“一”、“二”、“二”]|>Map.of列表
让myMap2=[“一”,“一”,“二”,“二”]|>MyMap.ofList
第一个let很好用。第二个失败的原因是:
错误FS0039:字段、构造函数或成员“of list”不正确
明确的
这让我困惑。我本以为,如果MyMap是Map的别名,那么Map的所有成员都可以通过MyMap访问
有没有什么医生解释过
它说编译器实际上会用实际的底层类型替换缩写。我假设这将包括成员引用。列表的
Map.ofList
函数位于Map
模块中,而不是Map
类型。尝试“module MyMapMod=Map`您应该能够访问列表的MyMapMod.ofList
(这是一个愚蠢的例子,在这种特殊情况下不会给您带来任何好处,因为Map
要短得多,但只是出于示例目的)。啊哈!我看到了区别。很高兴知道。谢谢!