上でエラーを発生intにのIntPtrを追加します。は、私はこのコードを持っているの.NET Framework 3.5
私は3.5にプロジェクトをダウングレードする場合、それは私にこのエラーを与える:
Operator '+' cannot be applied to operands of type 'System.IntPtr' and 'int'
私はそれが3.5
に動作させるためにそれを修正し、私はそれが4.0で動作する理由を知らないんどのように任意のアイデアを?事前
上でエラーを発生intにのIntPtrを追加します。は、私はこのコードを持っているの.NET Framework 3.5
私は3.5にプロジェクトをダウングレードする場合、それは私にこのエラーを与える:
Operator '+' cannot be applied to operands of type 'System.IntPtr' and 'int'
私はそれが3.5
に動作させるためにそれを修正し、私はそれが4.0で動作する理由を知らないんどのように任意のアイデアを?事前
うんで
おかげ - あなたはthe documentation for the Addition propertyを見れば、あなたがそのオペレータが表示されますが唯一あなたが道で、キャストを必要はありません、.NET 4で導入されました。
.NET 3.5では、あなたは、おそらく使用できます。もちろん
lvItem.pszText = new IntPtr(lpRemoteBuffer.ToInt64() +
Marshal.SizeOf(typeof(LV_ITEM)));
あなたがint.MaxValue
オーバー:)
を行くポインタで32ビットシステム上で、あなたがいないなら願ってする必要がありますIntPtrは.NET 4.0より前のポインタ演算をサポートしていませんでした。ポインタでそのように動作させたい場合は、IntPtrの実際のポインタinsteatを使用する必要があります。
私はコードが32ビットと64ビットの両方で動作することを確認する必要があります – Stacker
私は64ビットで開発しています.net framework 4 – Stacker