如何将C#中的整数“指针”传递给托管CLI C ++

时间:2013-04-27 00:29:27

标签: c# managed

这应该很容易(并且它在C ++中)但我找不到正确的语法来执行以下任务:

  1. 在C#中我有一个整数'结果'我希望传递给托管C ++函数。
  2. 在托管C ++函数中,我设置了值' result'说,6。
  3. 当函数返回时,我将C#中的设置值设为6。
  4. (我使用上面的输入代码工具复制的代码段非常难看,我无法保证其使用。)

    在C ++中我只需要使用一个整数指针,将指针传递给函数,让函数设置它,然后我在调用者中设置了值。我真的很感激,如果有人可以在C#中编写一个带有整数的代码片段,并以某种方式通过装箱或其他任何方式将其作为指针传递给托管函数,并让托管函数设置值,以便C#调用者具有值返回(但不作为返回值)。将C#世界中的语法与托管C ++世界中的模拟匹配是成功的一半。

    我甚至无法在谷歌搜索中找到一个好方法来解决这个问题。

1 个答案:

答案 0 :(得分:1)

简单地通过引用传递参数:

public ref class Example {
public:
    static void Foo(int% arg) {
        arg = 42;
    }
};

然后你用C#调用它:

int value;
Example.Foo(ref value);

不要忘记你也可以从方法中返回一个值。