CS0636 de erro do compilador

Mensagem de erro

Atributo FieldOffset só pode ser colocado em membros de tipos marcados com o StructLayout (LayoutKind.Explicit)

Você deve usar o StructLayout (LayoutKind.Explicit) atributo na declaração struct, se ele contiver todos os membros marcados com o FieldOffset atributo.Para obter mais informações, consulte FieldOffset.

O exemplo a seguir gera 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 ()
   {
   }
}