我創建一個C++/CLI類包裝自動生成的.h文件,以便它的值可以從C#如何從C返回一個託管字符串++/CLI類
Sample.h包含訪問(自動生成的,不能改變它)
#define NiFpga_M_OTRM_OVDFPGA_Bitfile "NiFpga_M_OTRM_OVDFPGA.lvbitx"
static const char* const NiFpga_M_OTRM_OVDFPGA_Signature = "D0751ADE3A0EC976606D63C425B35E85";
我創建一個C++/CLI類如下
#include "Sample.h"
using namespace System;
using namespace Platform;
public ref class Sample
{
public:
static System::String^ GetFilename() { return new System::String(NiFpga_M_OTRM_OVDFPGA_Bitfile);};
static System::String^ GetSignature() { return new System::String(NiFpga_M_OTRM_OVDFPGA_Signature);};
}
當嘗試從C#使用它:
string bitfileName = Sample.GetFilename();
string signature = Sample.GetSignature();
我得到:
我想通過執行新的「指針和固定大小緩衝區只能在不安全的上下文中使用」我創建一個託管字符串
更正的類名錯誤 – markshancock