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

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


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

Атрибут FieldOffset может назначаться только членам типов, для которых используется StructLayout(LayoutKind.Explicit).

Вы должны использовать атрибут StructLayout(LayoutKind.Explicit) в объявлении структуры, если она содержит элементы, помеченные атрибутом FieldOffset . Дополнительные сведения см. в разделе FieldOffset.

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