使用 [In, Out] 和仅使用 ref 在从 C# 到 C++ 传递参数时有区别吗?
我找到了一些不同的 SO 帖子,以及一些来自 MSDN 的东西,它们接近我的问题但并没有完全回答。我猜我可以像使用 [In, Out] 一样安全地使用 ref,并且编组器不会有任何不同的操作。我的担忧是它会有所不同,而且 C++ 不会对我的 C# 结构体传递感到满意。我在工作的代码库中看到了两种情况...
以下是我找到并一直阅读的帖子:
P/Invoke [In, Out] 属性对于数组编组是否是可选的? 这让我想使用 [In, Out]。
这三篇文章让我认为我应该使用[In, Out],但我可以使用ref代替,并且它将具有相同的机器代码。这让我觉得我是错误的 - 因此在这里提问。
[In, Out] ref int foo
和ref int foo
之间的区别吗?就目前而言,您的问题缺乏细节,我认为您需要一个(或多个)具体的例子。 - David Heffernan