C# 怎么调用C++ 定义的const std::vector<MusicCommand> 这样类型的方法 10

其中MusicCommand是个结构体如下:structAirConditionStatus{uint8_tid;boolis_on;uint8_tmode;boolis... 其中MusicCommand是个结构体如下:
struct AirConditionStatus
{
uint8_t id;
bool is_on;
uint8_t mode;
bool is_auto;
uint8_t wind_speed;
uint8_t set_temp;
int8_t current_temp;
};

DLL_API bool ControlAirCondition(const std::string &uid,
const std::vector<AirConditionStatus> &air_conditions_status);

PS:试过用List<AirConditionStatus>
C#代码:

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
public struct AirConditionStatus
{
public byte id;
public bool is_on;
public byte mode;
public bool is_auto;
public byte wind_speed;
public byte set_temp;
public byte current_temp;
}

[DllImport(@"AppDll.dll", EntryPoint = "ControlAirCondition", CharSet = CharSet.Auto)]
public static extern bool ControlAirCondition(char[] uid, List<AirConditionStatus> air_conditions_status);
标题MusicCommand枚举换成AirConditionStatus, 打错了
展开
 我来答
lybgl
2016-11-29 · TA获得超过290个赞
知道小有建树答主
回答量:903
采纳率:86%
帮助的人:227万
展开全部
vector C++容器,里面存放结构体; C# 中的List 或者ArrayList 集合都能实现
vector的功能;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式