Matlab将null返回给.NET而不是.NET对象

时间:2017-01-03 10:45:07

标签: c# .net matlab

我想从C#客户端调用Matlab函数。这个Matlab函数返回C#对象。但由于某种原因而不是对象,我得到null返回。

我尝试了什么: 我有一个.dll内置的C#/ .NET,它包含名称空间CalibrationCharacteristics中类CalibrationAlgorithm的定义。在最简单的形式,它看起来像这样:

public class CalibrationCharacteristics
{
    public bool OverAllPassed;

    public CalibrationCharacteristics()
    {
        OverAllPassed = true;
    }
}

我有一个Matlab脚本,它使用内置的dll执行以下操作:

function t = testInterface(rawData)    

NET.addAssembly('[long path here]\TestForMatlab.dll');
t = CalibrationAlgorithm.CalibrationCharacteristics;
t.OverAllPassed = false;

我正在尝试使用.NET运行Matlab函数(如Mathworks文档中所述:https://ch.mathworks.com/help/matlab/matlab_external/call-matlab-function-from-c-client.html

    matlab.Feval("testInterface", 1, out outObject, rawData);

但是当我运行程序时,null获得了outObject

如果我使Matlab函数更简单(例如,最后只添加t=1;),我会得到我期望的结果(即对象中的1)。

我是否尝试过不起作用的东西?

0 个答案:

没有答案