private static string OffsetOf(FieldDefinition field)
 {
     if (field.IsLiteral)
     {
         return("0");
     }
     if (field.IsThreadStatic())
     {
         return("THREAD_STATIC_FIELD_OFFSET");
     }
     if (field.DeclaringType.HasGenericParameters)
     {
         return("0");
     }
     if (field.IsNormalStatic())
     {
         return($"{Naming.ForStaticFieldsStruct(field.DeclaringType)}::{Naming.ForFieldOffsetGetter(field)}()");
     }
     return($"{Naming.ForTypeNameOnly(field.DeclaringType)}::{Naming.ForFieldOffsetGetter(field)}(){(!field.DeclaringType.IsValueType() ? "" : (" + static_cast<int32_t>(sizeof(" + Naming.ForType(TypeProvider.SystemObject) + "))"))}");
 }