Partager via


Erreur du compilateur CS0636

Mise à jour : novembre 2007

Message d'erreur

L'attribut FieldOffset ne peut être placé que sur des membres de types marqués avec StructLayout(LayoutKind.Explicit)
The FieldOffset attribute can only be placed on members of types marked with the StructLayout(LayoutKind.Explicit)

Vous devez utiliser l'attribut StructLayout(LayoutKind.Explicit) sur la déclaration de struct si elle contient des membres marqués avec l'attribut FieldOffset. Pour plus d'informations, consultez FieldOffset.

L'exemple suivant génère l'erreur 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 ()
   {
   }
}