C++访问托管类(C#类库)

Posted strangeman

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++访问托管类(C#类库)相关的知识,希望对你有一定的参考价值。

1、新建C# 类库项目Airth,新建类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Arith
{
    public class MathCalc
    {
        public int Add(int a, int b)
        {
            return a + b;
        }

        public int Dec(int a, int b)
        {
            return a - b;
        }
    }
}

2、新建C++项目,支持CLR

  头文件中加入

#using <mscorlib.dll>
#using "../debug/Arith.dll"
using namespace System;
using namespace Arith;

3、创建访问对象

gcroot<MathCalc ^>  mathCls;    //头文件中
mathCls = gcnew MathCalc();      //cpp中

4、使用方法

 

 int result = mathCls->Add(4,1);
 int result = mathCls->Dec(4,1);

 

以上是关于C++访问托管类(C#类库)的主要内容,如果未能解决你的问题,请参考以下文章

使用托管 C++ 项目中的 C# 类

在托管 C++ 类库中使用 System::Drawing 命名空间

如何在 C# 代码中访问 C++ 类?

使用 COM 互操作从非托管 C++ 访问 c# 属性

如何从 C# 导入和使用非托管 C++ 类?

C# 中的非托管 C++ 类