![](/img/trans.png)
[英]Inheriting a Visual Basic class in C# and overriding constructors that take optional parameters
[英]Calling a Visual Basic function with optional parameters with a C# call
我使用客戶端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方法有兩個參數。 為什么?
這取決於C#版本。 較舊的C#版本尚不支持可選參數 - 您始終需要指定所有參數。 由於也支持C#4可選參數。
一種解決方法是傳遞可選參數 - 因為它有一個默認值,如果你只是傳遞它就沒有損失。
您可以使用System.Reflection.Missing.Value
。 我不確定它是否適用於Visual Basic調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.