F#enum:预计有xxx类型,但这里有xxx类型

时间:2016-11-04 00:13:41

标签: enums f#

我正在尝试使用LightningDB.net。其中一个方法接受参数为枚举标记。

C#中的方法声明:

Open(EnvironmentOpenFlags openFlags = EnvironmentOpenFlags.None, UnixAccessMode accessMode = UnixAccessMode.Default)

当我为openFlags提供参数时,例如:env.Open(EnvironmentOpenFlags.NoSync)我收到编译错误:

error FS0001: This expression was expected to have type    LightningDB.EnvironmentOpenFlags    but here has type    LightningDB.EnvironmentOpenFlags

当我为方法的第二个参数提供参数时,它可以工作:

env.Open(accessMode = UnixAccessMode.Default)

任何组合,包括尝试将枚举转换为int然后返回总是会导致编译器错误。

这是在VS 2015.任何想法可能导致这种情况以及如何解决?

1 个答案:

答案 0 :(得分:3)

程序集在项目中一次,一次直接引用,第二次嵌入另一个程序集中,从而导致错误。