首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从c#调用的托管c++中的类

从c#调用的托管c++中的类
EN

Stack Overflow用户
提问于 2011-07-12 01:10:50
回答 4查看 1.8K关注 0票数 3

我在托管c++ dll中有一个类被声明为

代码语言:javascript
复制
public class IPHelper
{
public:
    static void CheckIP(LPWSTR pSocketName);
    static void DebugMessage(const wchar_t *str, ...);
private:        
    static DWORD GetIPInformation(PSOCKET_RECORD &pInfo);
};

我成功地编译了它,并将其作为引用添加到我的c#项目中。我可以使用命名空间,但是这个类似乎是空的,并且我无法调用其中的函数。

有什么想法吗?

EN

回答 4

Stack Overflow用户

发布于 2011-07-12 01:12:31

该类不是托管的,它是本机的。如果要在托管代码中使用它,则需要将其称为public ref class

票数 3
EN

Stack Overflow用户

发布于 2011-07-12 01:12:37

您将需要使用P/Invoke方法调用它。有关详细信息,请参阅this参考。

票数 1
EN

Stack Overflow用户

发布于 2011-07-12 01:35:44

正如其他人所指出的,这是一个原生C++类。假设您的项目启用了CLR,那么您可以很容易地围绕它编写一个简单的C++ / CLI包装器,这将允许您在托管上下文中使用它。

This是C++ / CLI的快速概述,应该可以帮助您朝着正确的方向入门。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6653814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档