我正在使用F#中的API(我无法控制),它声明了两个构造函数,如:
public TheType(string bar, bool foo)
public TheType(IDisposable baz, bool foo)
我需要使用第一个构造函数创建对象的实例,但是将null
传递给bar。 F#编译器当然对我试图解决的构造函数感到困惑:
//Private field
static let blah : TheType = new TheType(null, false)
我可以通过将null
转换为字符串:
static let blah : TheType = new TheType(null :> string, false)
哪个有效,但这给了我一个编译警告:
类型'string'没有任何正确的子类型,不需要用作静态强制的目标
哪个也有意义。有没有办法解决过载歧义而不诉诸编译警告?
答案 0 :(得分:7)
您可以指定null的类型:
static let blah : TheType = new TheType((null : string), false)