[英]How do I access a type from a C++/CLI dll in 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
出現未定義的標識符錯誤:
找不到類型或名稱空間名稱“ my_msg_t”(您是否缺少using指令或程序集引用?)
為什么這種類型不可見? 我需要進行任何類型的“類型導出”嗎? 有什么解決方法嗎?
C#沒有看到typedef的原因有兩個:
C#只能從您的C ++ / CLI庫中查看托管類型。 沒有機制允許C#直接訪問非托管類型。
C ++ / CLI庫中的'typedef'語句永遠無法用於其他.NET應用程序。 它僅在范圍內的C ++ / CLI庫中可用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.