c# – 如何在已编译的.NET程序集中使用Matlab对象?
发布时间:2020-12-15 17:22:59 所属栏目:百科 来源:网络整理
导读:我有一个基本的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文件中,并将其与相关的Matlab命名空间(Math
我有一个基本的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文件中,并将其与相关的Matlab命名空间(MathWorks.MATLAB.NET.Arrays,MathWorks.MATLAB.NET.Utility)一起导入C#项目中. 在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对象的引用.我在想,这有可能吗?如果是,那么如何实现呢?如果不是,有办法解决吗? (我基本上有一个用C#编写的GUI组件,我不想在Matlab中集成,反过来,反之亦然). 解决方法
在.NET程序集中使用Matlab类是
not possible.
有许多变通方法: >将变量定义为全局变量,并使用包含其方法的多个函数访问它 这是(1)的代码片段: function CreateMyClass(st) global myClass; myClass = MyClass(st); end function DisplayMyClass() global myClass; myClass.display(); end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |