首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# StructLayout与dispose

C# StructLayout与dispose
EN

Stack Overflow用户
提问于 2020-04-28 09:18:53
回答 1查看 119关注 0票数 0

我设计了一个名为StructLayout的ReceiveBuffer,在ReceiveBuffer中,我有一个非托管类型的数组来存储数据。代码如下所示。

代码语言:javascript
复制
[StructLayout(LayoutKind.Sequential, Pack = 1, CharSet = CharSet.Ansi)]
    public struct ReceiveBuffer
    {
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 512)]
        public char[] Data;
    }

我希望在这个结构中实现IDisposable方法,以便在不需要的时候正确地释放ReceiveBuffer。我检查了MSDN中的一些示例,但是大多数情况都是在类中而不是在struct中使用的。我不知道怎么用结构来管理它。如何在这样的结构中实现IDisposible?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-28 09:22:57

我有一个非托管类型的数组来存储数据。

不,你不知道。它是一个带有元帅指令的托管数组。

我不知道如何在struct中管理它。如何在这样的结构中实现IDisposible?

你不知道。首先,像这样的结构和一次性结构是非常可能的,因为在结构上发生了大量的复制操作。第二,整个假设有一个非托管数组是错误的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61476730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档