如何使用命名空间或类型别名/缩写?

Ste*_*vev 19 f#

这个C#声明的等效F#声明是什么:

使用NR = ICSharpCode.NRefactory;

des*_*sco 38

F#中的缩写可以应用于模块:

module ES = Microsoft.FSharp.Quotations.ExprShape
Run Code Online (Sandbox Code Playgroud)

类型

type Thread = System.Threading.Thread
Run Code Online (Sandbox Code Playgroud)

不幸的是,名称空间不能缩写

  • 需要注意的是,上面的第一个语法称为“本地模块声明”(https://learn.microsoft.com/en-us/dotnet/fsharp/language-reference/modules),并且 RH 端必须也可以是模块。顾名思义,缩写实际上充当别名,并且范围不在当前文件之外。类型缩写的范围取决于您的修饰符:“type private”或“type public”等。 (2认同)
  • 更进一步:模块别名继承了它原来的任何工具提示注释,类型缩写不会,你应该用`///`给它自己的信息注释。 (2认同)

Str*_*ger 5

等效的F#声明将是:

type NR = ICSharpCode.NRefactory
Run Code Online (Sandbox Code Playgroud)

在F#中,它被称为类型缩写:http: //msdn.microsoft.com/en-us/library/dd233246.aspx

ICSharpCode.NRefactory必须在这里一个类型,因为desco说只是命名空间不能缩写.