1
我創建了一個C++/CLI DLL與下面的代碼:如何從C++中的C++/CLI dll訪問類型?
#pragma once
#include "msg.h" //msg_t is a struct defined here
using namespace System;
namespace myCLRDll
{
typedef msg_t my_msg_t;
public ref class Class1
{
};
}
建庫,將引用添加到我的C#應用程序和using myCLRDll;
指令,但是當我去使用my_msg_t
我得到一個未定義的標識符錯誤:
The type or namespace name 'my_msg_t' could not be found (are you missing a using directive or an assembly reference?)
爲什麼這種類型不可見?我需要做任何類型的「輸出」嗎?有沒有解決方法?
類1將可見,但不是typedefs - 沒有機制可以將typedefs暴露給C#或任何其他.NET語言。也就是說,C#可以看到的唯一類型是C++/CLI託管類型。 –
還有什麼方法可以通過C++/CLI向C#公開一個在本地C++中定義的結構或類嗎? – Jack
@DaveDoknjas:我沒有看到你編輯。將其張貼爲答案,以便我可以標記爲已接受。謝謝 – Jack