使用英语阅读

通过


编译器错误 CS0636

FieldOffset 特性只能放置在标记为 StructLayout(LayoutKind.Explicit) 的类型的成员上

如果结构声明中包含标有 FieldOffset 特性的任何成员,则必须在该结构声明中使用 StructLayout(LayoutKind.Explicit) 特性。 有关详细信息,请参阅 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 ()  
   {  
   }  
}