Прочитать на английском

Поделиться через


Ошибка компилятора CS0625

Field: типы полей экземпляра, помеченные атрибутом StructLayout(LayoutKind.Explicit), должны иметь атрибут FieldOffset.

Если структура помечена явным атрибутом StructLayout , все поля структуры должны иметь атрибут FieldOffset . Дополнительные сведения см. в разделе Класс StructLayoutAttribute.

В следующем примере возникает ошибка 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;  
}