private static FieldAttributes FieldVisibilityAttributeFor(Field field) { if (field.IsProtected) return FieldAttributes.Family; if (field.IsPublic) return FieldAttributes.Public; if (field.IsInternal) return FieldAttributes.Assembly; return FieldAttributes.Private; }