void DeleteEmptyCctors() { var emptyCctorsToRemove = new List <MethodDef>(); foreach (var type in module.GetTypes()) { var cctor = type.FindStaticConstructor(); if (cctor != null && DotNetUtils.IsEmpty(cctor)) { emptyCctorsToRemove.Add(cctor); } } if (emptyCctorsToRemove.Count == 0) { return; } Logger.v("Removing empty .cctor methods"); Logger.Instance.Indent(); foreach (var cctor in emptyCctorsToRemove) { var type = cctor.DeclaringType; if (type == null) { continue; } if (type.Methods.Remove(cctor)) { Logger.v("{0:X8}, type: {1} ({2:X8})", cctor.MDToken.ToUInt32(), Utils.RemoveNewlines(type), type.MDToken.ToUInt32()); } } Logger.Instance.DeIndent(); }