Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
BCL チームが UnmanagedMemoryStream のコンストラクターで IntPtr の代わりに Byte* を使用することを選択した理由を知っている人はいますか? これにより、型を構築するために安全でないコンテキストを使用する必要があります。彼らは IntPtr を使用できたようで、安全でないコンテキストを強制することはなかったでしょう。
その方が安全だからだと思います。彼らが IntPtr を使用していた場合、コンストラクターは任意のガベージ値で呼び出される可能性があります。byte* を使用すると、メモリが有効で固定されていることを確認するコンパイラに少なくともショットがあります。IntPtr を byte* にキャストするのは非常に簡単ですが。