更新:2007 年 11 月

错误消息

FieldOffset 属性只能放置在标记为 StructLayout(LayoutKind.Explicit) 的类型的成员上

如果结构包含标记为 FieldOffset 属性的任何成员,必须在该属性的声明上使用 StructLayout(LayoutKind.Explicit) 属性。有关更多信息,请参见 FieldOffset

下面的示例生成 CS0636:

 复制代码
// CS0636.cs
using System;
using System.Runtime.InteropServices;

// To resolve the error, uncomment the following line:
// [StructLayout(LayoutKind.Explicit)]
struct Worksheet
{
   [FieldOffset(4)]public int i;   // CS0636 
}

public class MainClass
{
   public static void Main ()
   {
   }
}