4
我想使用LightningDB.net。其中一种方法接受参数作为枚举标志。F#枚举:预计有类型xxx,但这里有类型xxx
方法声明在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)
任何combi包括试图将枚举转换为int然后返回总是导致编译器错误。
这是在VS 2015.任何想法可能会导致这种情况,以及如何解决?
我会检查你不是以某种方式引用同一个DLL的两个不同版本 –
我似乎并没有这样做,除此之外,如果是这样的话,错误会出现在第二个参数中,也是枚举标志类型,对不对? – Sumrak
但是也许第二个Arg来自不同的dll –