Error del compilador CS0625

Actualización: noviembre 2007

Mensaje de error

'campo': los tipos de campo de instancia marcados con StructLayout(LayoutKind.Explicit) deben tener un atributo FieldOffset.
'field': instance field types marked with StructLayout(LayoutKind.Explicit) must have a FieldOffset attribute

Cuando se marca una estructura con un atributo StructLayout explícito, todos los campos de la estructura deben tener el atributo FieldOffset. Para obtener más información, vea StructLayoutAttribute (Clase).

El código siguiente genera el error CS0625:

// 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;
}