【发布时间】:2012-02-02 01:24:28
【问题描述】:
我对如何将下面提到的 C++ 对象编组为 c++/CLI 有点困惑。你能给我一些想法吗?
原生 C++ 类
class HeaderMessage {
double timestamp;
string ric_code;
}
class TradeMessage {
double price;
int size;
}
class RFARecord
{
public:
RFARecord();
HeaderMessage * hMsg;
list<TradeMessage *> qMsgs;
};
我的 C++/CLI 类如下所示
public ref class RFARecordRef
{
public:
RFARecordRef();
RFARecordRef(RFARecord *record);
HeaderMessageRef hMsg;
List<TradeMessageRef> tMsgs;
private:
RFARecord *record;
};
ref class HeaderMessageRef
{
private:
HeaderMessage *hMsg;
public:
HeaderMessageRef(void);
};
ref class TradeMessageRef
{
private:
TradeMessage *tMsg;
public:
TradeMessageRef(void);
};
我不确定我的方法是否正确。
我从文本文件中读取数据并以 RFARecords 的形式将这些数据传输到我的 C# 程序。
将以上数据对象包装或编组到 C++/CLI 的正确方法是什么,然后我的 C# 程序可以使用这些对象。
提前致谢。
问候, 阿洛克
【问题讨论】:
-
我已经阅读了上面的帖子。它最初帮助我设置了包装器。我已经通过了这一点。我能够将我的本机类包装在运行良好的 CPP/CLI 层中。我现在的问题是正确编组数据。基本问题是结构列表的编组(这些结构包含基本的 adta 类型)
标签: interop c++-cli marshalling