我有一个 Powershell 脚本。我成功加载了一个 C# 程序集,并使用了该程序集中的一个类中包含的方法: [MyCSharpAssembly.MyClass]::MyAssemblyMethod() 。然而,这同样不适用于 F#

有可能吗?

我有一个名为 Data.dll 的程序集,它有一个名为 People.fs 的模块,People.fs 定义了记录类型:

module People =
    type Teacher = {
        FirstName:string,
        LastName:string,
        Age:int }

我想将 Data.dll 程序集加载到我的 Powershell 脚本中,然后在脚本中创建一个 Teacher 类型的记录表达式,以便在该脚本中的其他一些计算中使用它。

如果可以做到,我该怎么做?

最佳答案

F# 记录编译为只读类,因此您应该能够使用 New-Object 创建一个值,并将这些值作为构造函数参数传入。

New-Object Teacher("Jane", "Doe", 27)

您可能必须传递完全限定名称而不是 Teacher

关于powershell - 在 Powershell 中加载 F# 程序集并创建记录表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32973438/

10-17 03:13