Errore del compilatore CS0625

Aggiornamento: novembre 2007

Messaggio di errore

'campo': i tipi di campo dell'istanza contrassegnati con StructLayout(LayoutKind.Explicit) devono avere un attributo FieldOffset.
'field': instance field types marked with StructLayout(LayoutKind.Explicit) must have a FieldOffset attribute

Quando una struttura è contrassegnata con un attributo StructLayout esplicito, tutti i campi della struttura devono avere l'attributo FieldOffset. Per ulteriori informazioni, vedere Classe StructLayoutAttribute.

Il seguente codice di esempio genera l'errore 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;
}