使用Matlab2017a,我编写了一个包装器来使用向量CAN硬件。它基于向量的vxlapi_NET。
在上一个版本中,我可以这样做:
xlstatus = obj.fid.XL_OpenDriver();
if xlstatus == vxlapi_NET.XL_Status.XL_SUCCESS .....因为xl_opendriver返回了vxlapi_NET.XL_Status类型的东西。完全有道理..。
如今,随着2008年b的到来,情况似乎完全不同了。XL_OpenDriver返回XLDefine+XL_Status类型的东西。
有人能解释一下这个“加号”是什么意思吗?在Matlab中,我从来没有见过这样的事情。此外,我没有找到任何将if xlstatus == vxlapi_NET.XL_Status.XL_SUCCESS转换成与2008 b兼容的解决方案。
当然,vxlapi_NET.XLDefine+XL_Status.XL_STATUS不是一个有效的表达式。
这是一个错误,还是为什么事情的表现如此不同?
非常感谢!
发布于 2019-01-15 14:31:19
我得到了MathWorks支持部门的回复。他们证实有些事情发生了变化:
类或枚举名称中的“+”表示它嵌套在另一个类中。不能从.NET程序集直接实例化嵌套类或枚举。为了做到这一点,您必须使用反射。接口在各版本之间确实发生了变化。
https://stackoverflow.com/questions/54147897
复制相似问题