У меня есть базовый класс Matlab, который я хочу создать в C #.
classdef MyClass
properties
Value
end
methods
function obj=MyClass(v)
obj.Value = v;
end
function display(obj)
disp(obj.Value);
end
end
end
Затем он встроен в файл .DLL и импортируется в проект C # вместе с соответствующими пространствами имен Matlab (MathWorks.MATLAB.NET.Arrays, MathWorks.MATLAB.NET.Utility).
На стороне C # я пытаюсь создать экземпляр этого класса следующим образом:
Untitled2.MLTestClass matlab = new Untitled2.MLTestClass();
MWCharArray input = new MWCharArray("Initial");
MWArray[] result = matlab.MyClass(1, input);
К концу последней строки кода result.Length = 1 и result [0] = null. Я как-то ожидал получить ссылку на недавно созданный объект Matlab. Мне было интересно, это вообще возможно? И если да, то как это можно сделать? Если нет, есть ли способ обойти это? (У меня есть компонент GUI, написанный на C #, который я не хочу интегрировать в Matlab, а наоборот).