public static void AddRowUpdatingHandler(this DbDataAdapter adapter, RowUpdatingEventHandler handler) { EventInfo updEvent = adapter.GetType().GetEvent("RowUpdating", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly); if (updEvent != null) { updEvent.AddEventHandler(adapter, Delegate.CreateDelegate(updEvent.EventHandlerType, handler.Method)); } }
/// <summary> /// Registers a <c>RowUpdatingEventHandler</c> with this instance's <c>RowUpdating</c> event. /// </summary> /// <param name="handler">The event handler to register for the event.</param> /// <returns><c>true</c> if the event handler was successfully registered, otherwise <c>false</c>.</returns> public static bool AddRowUpdatingHandler(this DbDataAdapter adapter, RowUpdatingEventHandler handler) { EventInfo updEvent = GetEvent("RowUpdating", adapter.GetType()); if (updEvent != null) { try { if (handler.Method.IsStatic) { updEvent.AddEventHandler(adapter, Delegate.CreateDelegate(updEvent.EventHandlerType, handler.Method)); } else { updEvent.AddEventHandler(adapter, Delegate.CreateDelegate(updEvent.EventHandlerType, handler.Target, handler.Method)); } return(true); } catch { } } return(false); }