Lire en anglais

Partager via


Erreur du compilateur CS0625

« champ » : les types de champ d’instance marqués avec StructLayout(LayoutKind.Explicit) doivent posséder un attribut FieldOffset.

Quand un struct est marqué avec un attribut StructLayout explicite, tous les champs du struct doivent avoir l’attribut FieldOffset . Pour plus d’informations, consultez StructLayoutAttribute, classe.

L’exemple suivant génère l’erreur 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;  
}