0
관리되지 않는 C++ 코드에서 전달 된 wchar_t 매개 변수에 대한 포인터를 갖고 싶기 때문에 안전하지 않은 컨텍스트가 있다고 가정합니다. 예를 들면 다음과 같습니다.C# 안전하지 않은 컨텍스트/포인터 형식의 LPWStr
unsafe public(int* A, ???* B)
{
_myInt = A;
_myString = B;
}
int 매개 변수는 모든 것이 좋지만 ??? wchar_t를이 메서드의 C# 문자열 형식으로 마샬링하는 것으로 알고 있는데 매개 변수 B 앞에 [MarshalAs (UnmanagedType.LPWStr)]을 쓸 수 있습니다. 하지만 B에 대한 일종의 포인터가 필요합니다. _myString 필드에 대한이 포인터. C#에서 wchar_t와 같은 것이 있습니까? 아니면 포인터 B를 클래스의 다른 위치에 저장하도록 할 수 있습니까? 당신은 C#을 문자열의 건설 기간 동안 포인터 뒤에 문자열을 복사에 문제가없는 한 감사합니다, 위르겐
IntPtr을 사용해 보셨습니까? 그것은 보통 내가 C++에서 포인터를 건네주기 위해 사용하는 것입니다. 나중에 C++로 다시 전달하는 것을 제외하고는 엉망이되고 싶지 않습니다. –