c# – 如何在已编译的.NET程序集中使用Matlab对象?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 如何在已编译的.NET程序集中使用Matlab对象?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1069字,纯文字阅读大概需要2分钟。
内容图文
![c# – 如何在已编译的.NET程序集中使用Matlab对象?](/upload/InfoBanner/zyjiaocheng/776/fc0836c312674adeb3be42be3bc06244.jpg)
我有一个基本的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.
有许多变通方法:
>将变量定义为全局变量,并使用包含其方法的多个函数访问它
>将您的Matlab类作为struct中的字段值返回.
这是(1)的代码片段:
function CreateMyClass(st)
global myClass;
myClass = MyClass(st);
end
function DisplayMyClass()
global myClass;
myClass.display();
end
内容总结
以上是互联网集市为您收集整理的c# – 如何在已编译的.NET程序集中使用Matlab对象?全部内容,希望文章能够帮你解决c# – 如何在已编译的.NET程序集中使用Matlab对象?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。