C#的DLL文件:
namespace testClassDLL // 记住名字空间,在C++中会用到
{
public class TestClassDll
{
public string get_a_string(string inStr)
{
return "<? "+inStr+" ?>";
}
}
}
C++的EXE文件:
首先设置:项目属性->配置属性->常规->公共语言运行库支持 中 选择“公共语言运行库支持(/clr)一项”
#using "testClassDLL.dll" // 使用#using引用C#的DLL,注意:这里的Dll必须是已经存在的、编译完成的Dll文件,否则C++会提示错误
using namespace testClassDLL; // 使用DLL中的名字空间
void CCppCallerDlg::OnBnClickedButton1() // 添加一个按钮,编辑点击事件
{
TestClassDll ^csDll= gcnew TestClassDll(); // 注意,这里是使用的是"^"号来修饰csDll,它是托管指针,使用gcnew创建对象。
CString tt = csDll->get_a_string("test"); // 其它用发和C++基本一样了
AfxMessageBox(tt);
}