internal override void Write(ref CodeWriter writer) { var @static = _static ? "static " : string.Empty; var eventDeclaration = $"{_declaredAccessibility.Code()} {@static}event {_eventDelegateType} {Name}"; if (!string.IsNullOrEmpty(_explicitImplementation)) { eventDeclaration = $"event {@static}{_eventDelegateType} {_explicitImplementation}.{Name}"; } if (_addHandlerDelegate is null || _removeHandlerDelegate is null) { writer.AppendLine($"{eventDeclaration};"); return; } using (writer.Block(eventDeclaration)) { _addHandlerDelegate(writer); _removeHandlerDelegate(writer); } }