diff --git a/ICSharpCode.Decompiler/Ast/AstBuilder.cs b/ICSharpCode.Decompiler/Ast/AstBuilder.cs index 878c743e9..1429aa3c3 100644 --- a/ICSharpCode.Decompiler/Ast/AstBuilder.cs +++ b/ICSharpCode.Decompiler/Ast/AstBuilder.cs @@ -880,8 +880,12 @@ namespace ICSharpCode.Decompiler.Ast astEvent.RemoveAccessor.WithAnnotation(methodMapping); } - return astEvent; + MethodDefinition accessor = eventDef.AddMethod ?? eventDef.RemoveMethod; + if (accessor.IsVirtual ^ !accessor.IsNewSlot) { + if (TypesHierarchyHelpers.FindBaseMethods(accessor).Any()) + astEvent.Modifiers |= Modifiers.New; } + return astEvent; } public bool DecompileMethodBodies { get; set; }