C# Error
CS0625 – ‘{0}’: instance field in types marked with StructLayout(LayoutKind.Explicit) must have a FieldOffset attribute
Reason for the Error & Solution
‘field’: instance field types marked with StructLayout(LayoutKind.Explicit) must have a FieldOffset attribute.
When a struct is marked with an explicit StructLayout attribute, all fields in the struct must have the attribute. For more information, see .
The following sample generates 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;
}