从C#程序通过.dll调用VB.NET方法

本文关键字:调用 VB NET 方法 dll 程序 | 更新日期: 2023-09-27 18:28:02

我的代码包含一个VB.Net类,我已经将它构建到了一个.dll中,该dll将在C#-WPF程序中使用,问题是当我试图从该.dll中调用任何函数时,我会收到一个错误,说:

方法有一些无效的参数

我的vb代码:

Public Function PerformDCVoltageMeasurement_niDMM(ByRef dDMM_Reading As Double) As Boolean
    Try
        Call Initialize_niDMM(GetInstrumentAddress(sPXIInstrument).DeviceAddress, DC_VOLTS, 60, 100, 3.5)
        Dim dTemp As Double
        'Start the acquisition
        NIpxiDMM.Initiate()
        NIpxiDMM.Fetch(-1, dTemp)
        dDMM_Reading = dTemp
        NIpxiDMM.Dispose()
        Return True
    Catch
        gsCurrentPXIDeviceAddress_dmm = ""
        NIpxiDMM.Dispose()
        Return False
    End Try
End Function

和我的C#-wpf代码:

SwitchExecutive.SwitchExecutive SwitchControl = new SwitchExecutive.SwitchExecutive();
Double Jg;
SwitchControl.PerformDCVoltageMeasurement_niDMM(out Jg);

最后一条语句给出错误

方法有一些无效的参数

从C#程序通过.dll调用VB.NET方法

我认为它不喜欢用out参数调用该方法,因为VB.net不支持它们。试着称之为:

SwitchControl.PerformDCVoltageMeasurement_niDMM(ref Jg);