gpt4 book ai didi

C# Marshal.Sizeof() 使用自定义编码(marshal)拆收器时

转载 作者:行者123 更新时间:2023-11-30 20:49:43 26 4
gpt4 key购买 nike

是否可以在使用自定义编码(marshal)拆收器的结构上使用 Marshal.SizeOf()

例如:

struct Abcde { 
public int test1;
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(MyCustomMarshaler)]
public string customString1;
}

如果我调用:

var size = Marshal.SizeOf(typeof(Abcde));

抛出一个异常,表示无法计算有意义的大小或偏移量。我注意到 ICustomMarshaler 有一个名为 GetNativeDataSize() 的方法,但无论我在那里返回什么,都会抛出异常。

最佳答案

Marshal.SizeOf 不能用于包含自定义编码(marshal)成员的类型。

关于C# Marshal.Sizeof() 使用自定义编码(marshal)拆收器时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23239320/

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