我知道C ++ / CLI代码
void foo(Bar^% x);
转换为
Void foo(ref Bar x);
什么是C ++ / CLI代码
Void foo(out Bar x);
答案 0 :(得分:41)
您可以使用OutAttribute:
using namespace System::Runtime::InteropServices;
void foo([Out] Bar^% x);
答案 1 :(得分:8)
C ++ / CLI中没有这样的特定语法。我认为你可以通过添加OutAttribute
来修改参数。但我不确定它是否实现了与C#out
完全相同的语义。
out
的概念大部分仅限于C#。 CLR实际上只看到ref
个参数。 out
概念是通过我认为的mod opt实现的,大多数语言都忽略它。