ToArray 和 ToString return(单位 -> 字符串),不是字符串。我应该怎么办?

ToArray and ToString return (unit -> string), not string. What should I do?

备注

我目前遇到函数“ToString”返回 (unit -> string) 类型而不是字符串,以及“ToArray”返回 (unit -> string[]) 而不是 string[] 的问题.尝试向上转换为 string[] 或 string 没有成功。

代码如下:

let readZip filepath = ZipFile.OpenRead filepath
let replaceEnvs str = Environment.ExpandEnvironmentVariables str

let listFiles rawDir =
    replaceEnvs rawDir
    |> Directory.EnumerateFiles

let readModMetadata filepath =
    let archive = readZip filepath
    (archive.GetEntry "mcmod.info").ToString    // Also becomes (unit -> string) and not string

[<EntryPoint>]
let main args =
    let mods = listFiles modsFolder
    let modAsArray = mods.ToArray   // Becomes (unit -> string[]) and not string[]?
    0

为什么会这样,有没有办法只获取字符串?

所以我发现了。

您需要指定没有参数进入函数。 ToString() 中的括号就是这样做的,因为它们区分返回函数和返回结果。 我需要更多咖啡。