gpt4 book ai didi

c# - 如何使用 Marshal.SizeOf 忽略结构中的字段大小?

转载 作者:太空宇宙 更新时间:2023-11-03 11:54:10 25 4
gpt4 key购买 nike

有没有办法在使用 Marshal.SizeOf 计算结构大小时忽略字段

例如:

public struct Message
{
public ushort X;
public ushort Y; // Ignore this field in the calculation
}

int size = Marshal.SizeOf(typeof(Message));

现在尺寸是 4。我想要尺寸是 2。有没有办法做到这一点?

最佳答案

我能想到的唯一方法是创建一个 Custom Marshaller当你实现 ICustomMarshaller . GetNativeDataSize ,返回 0。您将使用 MarshalAsAttribute将自定义编码器应用于该字段。但是,它不会正确编码,所以我不知道您为什么要这样做。

关于c# - 如何使用 Marshal.SizeOf 忽略结构中的字段大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1174318/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com