protected override void WriteFieldTypeAndName(FieldDefinition field) { if (field.IsUnsafe) { WriteKeyword(KeyWordWriter.Unsafe); WriteSpace(); } TypeReference fieldType = field.FieldType; if (fieldType.IsRequiredModifier && (fieldType as RequiredModifierType).ModifierType.FullName == "System.Runtime.CompilerServices.IsVolatile") { WriteKeyword(KeyWordWriter.Volatile); WriteSpace(); fieldType = (fieldType as RequiredModifierType).ElementType; } string fieldName = GetFieldName(field); CustomAttribute dynamicAttribute; if (field.TryGetDynamicAttribute(out dynamicAttribute)) { WriteDynamicType(fieldType, dynamicAttribute); WriteSpace(); int startIndex = this.formatter.CurrentPosition; WriteReference(fieldName, field); int endIndex = this.formatter.CurrentPosition - 1; this.currentWritingInfo.MemberDeclarationToCodePostionMap[field] = new OffsetSpan(startIndex, endIndex); } else { WriteTypeAndName(fieldType, fieldName, field); } }