C++/CLR 使用C# task
时间: 2023-09-16 11:13:43 浏览: 166
CLR via C# 第三版
可以使用C++/CLI来调用C#的Task。以下是一个简单的示例:
假设有一个C#类如下:
```csharp
using System.Threading.Tasks;
namespace MyNamespace
{
public class MyClass
{
public static async Task<int> MyMethodAsync(int arg1, int arg2)
{
await Task.Delay(1000);
return arg1 + arg2;
}
}
}
```
然后在C++/CLI中,你可以这样调用它:
```cpp
#using <mscorlib.dll>
#using "MyNamespace.dll"
using namespace System;
using namespace System::Threading::Tasks;
using namespace MyNamespace;
int main()
{
Task<int>^ task = MyClass::MyMethodAsync(1, 2);
int result = task->Result;
Console::WriteLine(result); // 输出 3
return 0;
}
```
注意:在C++/CLI中,你需要使用“^”来声明引用类型。
阅读全文