英語で読む

次の方法で共有


コンパイラ エラー CS0625

'field': StructLayout(LayoutKind.Explicit) でマークされたインスタンス フィールドの型には、FieldOffset 属性を指定する必要があります。

構造体が明示的な StructLayout 属性でマークされている場合、その構造体のすべてのフィールドには FieldOffset 属性が必要です。 詳細については、「 StructLayoutAttribute クラス」を参照してください。

次の例では CS0625 が生成されます。

C#
// 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;  
}