c++ 导出类 c#调用
时间: 2023-07-05 20:04:33 浏览: 178
C#调用C++导出
要让 C# 能够调用 C++ 中的类,需要使用 C++/CLI 进行封装。C++/CLI 是一种将 C++ 代码和 .NET 代码结合起来的语言,它可以让 C++ 代码直接与 .NET 框架进行交互。
以下是一个简单的示例,演示了如何在 C++ 中定义一个类,并使其能够从 C# 中实例化和调用:
C++/CLI 代码:
```
#pragma once
using namespace System;
namespace MyNamespace
{
public ref class MyClass
{
public:
void MyMethod()
{
Console::WriteLine("Hello from C++!");
}
};
}
```
在 Visual Studio 中编译此代码,将生成一个名为 MyNamespace.dll 的动态链接库。
在 C# 中,可以使用以下代码引用并调用此类:
```
using System;
using MyNamespace;
class Program
{
static void Main(string[] args)
{
MyClass obj = new MyClass();
obj.MyMethod(); // 输出 "Hello from C++!"
}
}
```
请注意,C++/CLI 中的类必须使用 public ref class 关键字进行声明,以便 C# 能够正确识别它们。在 C++/CLI 中,还可以使用其他关键字来指定类的访问修饰符、继承关系等。
阅读全文