public static void Raise(this FastSmartWeakEvent <ChannelDataReceivedEventHandler> ev, object sender, ChannelDataReceivedEventArgs e)
        {
            var d = ev.GetRaiseDelegate();

            if (d != null)
            {
                d(sender, e);
            }
        }
        public static void Raise <T>(this FastSmartWeakEvent <EventHandler <T> > ev, object sender, T e) where T : EventArgs
        {
            var d = ev.GetRaiseDelegate();

            if (d != null)
            {
                d(sender, e);
            }
        }
        public static void Raise(this FastSmartWeakEvent <PropertyChangedEventHandler> ev, object sender, PropertyChangedEventArgs e)
        {
            var d = ev.GetRaiseDelegate();

            if (d != null)
            {
                d(sender, e);
            }
        }
        public static void Raise(this FastSmartWeakEvent <SerialPortDataRecievedEventHandler> ev, object sender, SerialPortDataRecievedEventArgs e)
        {
            var d = ev.GetRaiseDelegate();

            if (d != null)
            {
                d(sender, e);
            }
        }