Compartilhar via


CS0625 de erro do compilador

Mensagem de erro

'campo': tipos de campo de instância marcados com StructLayout (LayoutKind.Explicit) devem ter um atributo FieldOffset

Quando uma struct é marcada com um explícita StructLayout de atributo, todos os campos de struct devem ter o FieldOffset atributo.Para obter mais informações, consulte Classe StructLayoutAttribute.

O exemplo a seguir gera 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;
}