F# 使用 HttpPostedFileBase(抽象 class 作为成员类型)

F# using HttpPostedFileBase (abstract class as member type)

我一直在将我的 MVC Models/Forms 从 C# 转换为 F# 库,但似乎无法弄清楚这一点。我在原始 C# 模型中使用 HttpPostedFileBase,但我对如何编写以类似方式工作的 F# 类型感到困惑。

// C#
public class UploadForm()
{
    public int ItemID { get; set; }
    public string Email { get; set; }
    public HttpPostedFileBase UploadFile { get; set; }
    // UploadFile is the name of the HTML file input on the Razor view
}
// F#
type UploadForm() = 
    member val ItemID = 0 with get, set
    member val Email = "" with get, set
    member val UploadFile = ???

我阅读了关于抽象 properties 的 F# 文档,但我并没有在此处覆盖任何属性...只是想说明给定成员 (UploadFile) 应该属于特定类型 (HttpPostedFileBase) .这是可能的还是我需要编写支持代码?

你可以像这样以通常的方式给出一个类型:

type UploadForm() = 
    // ... other members
    member val UploadFile : HttpPostedFileBase = null with get, set