我设计了一个名为 ReceiveBuffer 的 StructLayout,在 ReceiveBuffer 内部,我有一个非托管类型的数组来存储数据。代码如下所示。
[StructLayout(LayoutKind.Sequential, Pack = 1, CharSet = CharSet.Ansi)]
public struct ReceiveBuffer
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 512)]
public char[] Data;
}
我想在这个结构中实现 IDisposable 方法,以便在不需要时正确处理 ReceiveBuffer。我在 MSDN 上查看了一些示例,但大多数情况是在类中使用而不是在结构中使用。我不确定如何在结构中管理它。如何在这样的结构中实现 IDisposible?