私はC++で LPCWSTR
を表しIntPtr
値であるStringHandle
フィールドを持つクラスを使用しています。文字列値にC#の.NETポイントでのIntPtrを作る
internal IntPtr StringHandle; // LPCWSTR
は、私は文字列を持っていることを今言う:それはC++ LPCWSTRのようなものであるように、string x = "abcdefg"
は、どのように私は文字列の先頭を指すように文字列のハンドルを使用することができますか?
なぜそれをしたいですか? –
ネイティブコード(C++)のみに存在するインターフェイスで作業しているため、.NETからInteropsを使用しています。しかし、StringHandleを持つクラスは私のものではなく、私は変更したくありません。 –
これは彼が働いているライブラリが期待しているものなので。すべてに.NETラッパーが組み込まれているわけではなく、フレームワーク内でさえ、低レベルのWindowsメッセージのようなものを扱う際には、Marshalクラスを使用することができます。 – KeithS