Error del compilador CS1642

Actualización: noviembre 2007

Mensaje de error

Los campos de búfer de tamaño fijo sólo pueden ser miembros de struct.
Fixed size buffer fields may only be members of structs.

Este error se produce cuando se utiliza un campo de tamaño fijo en una class, en lugar de una struct. Para resolverlo, cambie la class por unastruct o declare el campo como una matriz ordinaria.

Ejemplo

El código siguiente genera el error CS1642.

// CS1642.cs
// compile with: /unsafe /target:library
unsafe class C
{
   fixed int a[10];   // CS1642
}

unsafe struct D
{
    fixed int a[10];
}

unsafe class E
{
   public int[] a = null;
}