【发布时间】:2023-04-06 19:54:01
【问题描述】:
假设我们有一个不安全的上下文,因为我想要一个指向从非托管 C++ 代码传递的 wchar_t 参数的指针。例如:
unsafe public(int* A, ???* B)
{
_myInt = A;
_myString = B;
}
使用 int 参数一切正常,但是 ???* 类型呢? 我知道要为这种方法将 wchar_t 编组为 C# 字符串类型,可以在参数 B 之前编写 [MarshalAs(UnmanagedType.LPWStr)]。 但我需要某种 B 的本机指针类型,以便将此指针链接到 _myString 字段。 C# 中是否有类似 wchar_t 的东西,或者我还能做些什么来将指针 B 存储在类的其他位置? 谢谢, 于尔根
【问题讨论】:
-
你试过使用 IntPtr 吗?这通常是我用来从 C++ 传递我不想弄乱的任何类型的指针,除非稍后将它们传递回 C++。
标签: c# pointers unsafe wchar-t