编译器错误 CS0625
“field”:使用 StructLayout(LayoutKind.Explicit) 标记的实例字段类型必须具有 FieldOffset 特性。
使用显式 StructLayout 特性标记结构时,该结构中的所有字段都必须具有 FieldOffset 特性。 有关详细信息,请参阅 StructLayoutAttribute 类。
下面的示例生成 CS0625:
C#
// CS0625.cs
// compile with: /target:library
using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Explicit)]
struct A
{
public int i; // CS0625 not static; an instance field
}
// OK
[StructLayout(LayoutKind.Explicit)]
struct B
{
[FieldOffset(5)]
public int i;
}