Ler em inglês

Partilhar via


Erro do compilador CS0636

O atributo FieldOffset só pode ser colocado em membros de tipos marcados com o StructLayout(LayoutKind.Explicit)

Você deve usar o atributo StructLayout(LayoutKind.Explicit) na declaração struct, se ela contiver membros marcados com o atributo FieldOffset . Para obter mais informações, consulte FieldOffset.

O exemplo a seguir gera CS0636:

C#
// 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 ()  
   {  
   }  
}