Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- RemoveEvent(_timer, "Elapsed", "onIntervalElapsed");
- private static void WriteMessage(string message, params object[] args)
- {
- Console.SetCursorPosition(0, Math.Min(Console.BufferHeight - 1, Console.CursorTop + (Console.CursorLeft == 0 ? 0 : 1)));
- Console.WriteLine(message, args);
- }
- private const BindingFlags AllBindingFlags =
- BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static;
- private static void RemoveEvent<T>(T item, string eventName, string fieldName)
- {
- var type = typeof(T);
- var evnt = type.GetEvent(eventName, AllBindingFlags);
- FieldInfo field = type.GetField(fieldName, AllBindingFlags);
- if (evnt == null || field == null) // you've mistyped the event and field name.
- return;
- Delegate dele = field.GetValue(item) as Delegate;
- if (dele == null) // no attached delegates.
- return;
- evnt.RemoveEventHandler(item, dele);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement