在F#.net中为特定代码块打开命名空间
我知道这在C#中是不可能的;最接近的方法是在代码文件的顶部形成一个别名。在F#中有没有办法做到这一点 有关我问题的C#类比,请参见:在F#.net中为特定代码块打开命名空间,.net,f#,namespaces,.net,F#,Namespaces,我知道这在C#中是不可能的;最接近的方法是在代码文件的顶部形成一个别名。在F#中有没有办法做到这一点 有关我问题的C#类比,请参见: 我的猜测是“不,使用别名。”但没有冒险,没有收获。打开名称空间的最小范围是在模块中 解决方法是将函数及其开放名称空间放入自动打开的子模块中,以便open命令不会污染父模块,并且子模块对用户是透明的: [<AutoOpen>] module Utils = open System.IO // Now you do not have
我的猜测是“不,使用别名。”但没有冒险,没有收获。打开名称空间的最小范围是在模块中 解决方法是将函数及其开放名称空间放入自动打开的子模块中,以便
open
命令不会污染父模块,并且子模块对用户是透明的:
[<AutoOpen>]
module Utils =
open System.IO
// Now you do not have to include the full paths.
let writeToFile filename (text: string) =
let stream = new FileStream(filename, FileMode.Create)
let writer = new StreamWriter(stream)
writer.WriteLine(text)
[]
模块Utils=
开放系统
//现在,您不必包含完整路径。
让writeToFile文件名(文本:字符串)=
let stream=new FileStream(文件名,FileMode.Create)
let writer=新的流编写器(流)
writer.WriteLine(文本)