MFC C++调用C#动态链接库Dll

文章介绍了如何在MFC(C++)项目中调用C#编写的DLL。首先需配置MFC工程属性,启用公共语言运行时支持(/clr)并设置.NET目标框架。然后创建C#类库,编写接口函数。接着在MFC工程中引用C#类库,处理Button事件以调用C#方法。这是一个简单的MFC与C#互操作示例。
摘要由CSDN通过智能技术生成

引言

应客户需求,客户端已有MFC的程序,即C++代码,需要调用另一个第三方库Dll的功能,然而此Dll是C#动态链接库,无法直接调用,经过研究需要以下动作。以示例讲解:

配置工程属性

右键MFC工程属性,如图所示:
1、修改配置属性->高级->公共语言运行时支持,选择“公共语言运行时支持(/clr)”;
2、.NET目标框架版本,设置 4.5.2(也可以不选,只是为了方便引用 C# 工程,设置不对的话会报引用工程版本不兼容)。
在这里插入图片描述

编写C#类库

创建C#类库工程,编写示例:

namespace MyClassLibrary
{
    public class ClassA
    {
        public int Add(int x, int y)
        {
            return x + y;
        }

        public string Say()
        {
            return "Hello C#";
        }
    }
}

引用C#类库

1、添加工程引用:
在这里插入图片描述
2、配置MFC工程编译选项:
在这里插入图片描述

调用C#类库

1、在MFC代码文件头引用C#空间:

using namespace MyClassLibrary;

2、添加一个简单的Button事件:

void CMfcCallCsharpDlg::OnBnClickedButtonCallCsharp()
{
	ClassA^ myClass = gcnew ClassA();
	CString res = myClass->Say();
	MessageBox(res, _T("标题"), MB_OK);
}

3、注意CLR托管类的使用需要带尖号“^”。

结束语

最简洁的MFC调用C#示例,其他情况 C++ 调用 C# 类似,源码包就不用上传了,有需要的直接@,仅供快速参考。

注:开发工具 VS2019

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值