我使用客户端C#程序在不同的层上与Visual Basic代码进行交互。 Visual Basic函数签名如下所示:
Public Sub toggleExclusion( _
ByVal mouse As Double, _
ByVal study As Integer, _
Optional ByVal box As Integer = 0)
当我从C#中调用它时:
_obj.toggleExclusion(mouse, study)
我收到错误,说没有重载的toggleExclusion方法有两个参数。为什么呢?
答案 0 :(得分:3)
这取决于C#版本。较旧的C#版本尚不支持可选参数 - 您始终需要指定所有参数。由于也支持C#4可选参数。
答案 1 :(得分:1)
解决方法是传递可选参数 - 因为它有一个默认值,如果你只是传递它就没有损失。
答案 2 :(得分:0)
您可以使用System.Reflection.Missing.Value
。我不确定它是否适用于Visual Basic调用。