public void ProcessEvent(EventDefinition eventt) { _logger.LogDebug("Beginning processing event " + eventt.Name); FieldReference eventDelegate = eventt.GetEventDelegate(); if (eventDelegate != null) { if (eventDelegate.FieldType.IsValidEventDelegate()) { WeakEventWeaver weakEventWeaver = new WeakEventWeaver(eventDelegate, _moduleImporter); ProcessAddMethod(eventt.AddMethod, weakEventWeaver); ProcessRemoveMethod(eventt.RemoveMethod, weakEventWeaver); } else { _logger.LogInfo("Skipping event " + eventt + ", incompatible event delegate type"); } } else { _logger.LogInfo("Skipping event " + eventt + ", could not determine the event delegate field"); } _logger.LogDebug("Finished processing event " + eventt.Name); }