我目前正在学习VC++.我创建了一个具有阻止/允许IP地址功能的应用程序,我想将此功能公开给C#应用程序.
我在头文件中定义了以下成员,这些成员引用了我的.cpp文件中需要在我的应用程序之外访问的方法.
public: // Constructor. ZizFilter(); // Destructor. ~ZizFilter(); BOOL StartFirewall(); BOOL StopFirewall(); BOOL AddIPAddressToBlockedList(char* IP) BOOL RemoveIPAddressFromBlockedList(char* IP) BOOL BlockAll(char* tunnelAddress); BOOL UnblockAll();
我理解C#Interop方面以及如何使用公开的汇编方法,但我不知道如何让我的C++应用程序公开公开方法.
解决这个问题的一种方法是在C++ CLI中编写一个包装器 - 这是c ++的一个版本,它被扩展为管理.net的东西.
您可以在C++ cli中创建一个托管或"ref"类,它将显示为c#的普通.net类.
在c ++ cli类中,您可以正常调用纯c ++类.