我有一个歧视联盟,我想用作我在签名文件中公开的函数的参数。目前,我有这样定义的代码:在签名文件中共享歧视联盟
Signature.fsi:
type Union =
| Part of string
| Part2 of int
val Func: Union -> unit
随着Func键在一个单独的FS文件中定义。
问题是,当我这样做时,fs文件无法获取联合定义,因此创建Part或Part2值的代码失败。除非我在使用联合的fs文件中再次定义联合。
因此,例如:
Signature.fs:
type Union =
| Part of string
| Part2 of int
let Func input:Union =
ignore
OtherFile.fs
type Union =
| Part of string
| Part2 of int
let DoSomething =
Func(Part("Test"))
没有每次失败一次重新定义联盟。我错过了明显的东西吗?当谈到F#时,我仍然很绿。
那么,使用联盟进行联盟可能是一个坏主意!为了这个问题,他们只是占位符。 – Massif 2009-04-09 13:34:31
啊对,我是一个Foo酒吧巴兹有点自己的人:) 是否重新排序解决您的问题? – ShuggyCoUk 2009-04-09 13:44:38