非托管函数中的托管类参数

Managed class parameter in unmanaged function?

本文关键字:参数 函数      更新时间:2023-10-16

我正在尝试以托管C++重写我的 C# 库,该库与我的 C++ 实现有些合并。

我有一个托管基类,我也需要在非托管类中使用。

我有一个非托管类(包含在非托管 #pragma 中),它有一个将我的基类作为参数的函数。然后,它将其添加到稍后引用的向量中。

出于某种原因,它无法将gcroot识别为关键字。我假设是因为它在 #pragma 非托管代码中。

我怎样才能做到这一点?

谢谢

亚历克斯

你是对的。#pragma 非托管中的任何内容都必须是"常规"C++(它不能包含 C++/clr 代码)。 如果您希望本机类使用 gcroot,请不要将代码放在非托管 #pragma(因为它确实包含托管代码)。

为什么需要它处于 #pragma 不受管理的状态?