我知道可以将方法和属性添加到有区别的联合,但是您可以添加一个在创建联合的实例时必须设置的不可变字段,就像记录中的字段一样?
我想我想做的是结合联合类型和记录类型,如下所示:
type union =
| OptionOne of int
| OptionTwo of string
{
AFieldUsedForBothCases : string
}
这不是一个有效的声明。
我知道这可以通过创建记录类型来解决:
type record =
{
AFieldUsedForBothCases : string
TheDiscriminatedUnion : union
}
但如果可能的话,我想做类似于第一个例子的事情。