警告
此API现在已过时。
在不使用此过时函数的情况下获取结构大小的正确方法是什么?我们可以假设.NET Core 2.1和C#8。
我需要在泛型类型上使用它,因此我的代码读取类似于此伪代码:
...<T> where T : struct
{
...
// Note that T will have [StructLayout(LayoutKind.Sequential, Pack = 1)]
assert(something == Marshal.SizeOf(typeof(T)) ...)
}
答案 0 :(得分:1)
您可以使用Marshal.SizeOf<T>()
例如:
struct DDType
{
public int No1 { get; set; }
public int No2 { get; set; }
public string Name { get; set; }
}
Marshal.SizeOf<DDType>();