コード例 #1
0
        static void Main()
        {
            var video = new Video {
                Title = "Video 1"
            };

            var video2 = new Video {
                Title = "Video 2"
            };



            var videoEncoder   = new VideoEncoder();   // publisher
            var mailService    = new MailService();    // subscriber
            var messageService = new MessageService(); // subscriber

            videoEncoder.VideoEncoded += mailService.OnVideoEncoded;
            videoEncoder.VideoEncoded += messageService.OnVideoEncoded;

            videoEncoder.Encode(video);
            videoEncoder.Encode(video2);

            Console.WriteLine("Press [Enter] to close application.");
            Console.ReadLine();
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: HelgeStenstrom/cs2018
        static void Main(string[] args)
        {
            var video = new Video()
            {
                Title = "Video 1"
            };
            var videoEncoder = new VideoEncoder();

            videoEncoder.Encode(video);
        }
コード例 #3
0
        static void Main(string[] args)
        {
            Video vid = new Video()
            {
                Title = "Game of Thrones"
            };
            VideoEncoder vidEnc = new VideoEncoder(); // publisher
            MailService  ms     = new MailService();  // subscriber

            vidEnc.VideoEncoded += ms.LaundaVideoEncoded;

            vidEnc.Encode(vid);
        }
コード例 #4
0
        static void Main(string[] args)
        {
            var video = new Video()
            {
                Title = "Awesome"
            };
            var encoder     = new VideoEncoder();
            var mailService = new MailService();

            encoder.VideoEncoded += mailService.OnVideoEncoded;

            encoder.Encode(video);
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: ChristianWoeber/VS2015
        static void Main(string[] args)
        {
            var vid = new Video { Title = "Terminator" };
            var vidEncoder = new VideoEncoder();//Publisher
            var sms = new SmsNotification();//Subscriber
            var mail = new MailNotification();//Subscriber

            vidEncoder.VideoEncoded += sms.OnVideoEncoded; //Register the event
            vidEncoder.VideoEncoded += mail.OnVideoEncoded; //Register the event

            vidEncoder.Encode(vid);

        }
コード例 #6
0
        static void Main(string[] args)
        {
            var video = new Video()
            {
                Title = "Video 1"
            };
            var videoEncoder = new VideoEncoder();

            videoEncoder.VideoEncoded += MailService.SendMail;
            videoEncoder.VideoEncoded += TextMessageService.SendTextMessage;
            videoEncoder.Encode(video);
            Console.ReadKey();
        }
コード例 #7
0
        static void Main(string[] args)
        {
            var video = new Video()
            {
                Title = "Video 1"
            };
            var videoEncoder   = new VideoEncoder();   //publisher
            var mailService    = new MailService();    //subscriber
            var messageService = new MessageService(); //subscriber

            videoEncoder.VideoEncoded += mailService.OnVideoEncoded;
            videoEncoder.VideoEncoded += messageService.OnVideoEncoded;
            videoEncoder.Encode(video);
        }
コード例 #8
0
        static void Main(string[] args)
        {
            Video video = new Video {
                Title = "Video Title"
            };

            VideoEncoder   encoder        = new VideoEncoder(); // Publisher
            MailService    mailService    = new MailService();  // Subscriber
            MessageService messageService = new MessageService();

            encoder.VideoEncoded += mailService.OnVideoEncoded;
            encoder.VideoEncoded += messageService.OnVideoEncoded;

            encoder.Encode(video);
        }
コード例 #9
0
ファイル: Program.cs プロジェクト: pepsm/.NET-Practice
        static void Main(string[] args)
        {
            Video video = new Video {
                Title = "Video 1"
            };
            var videoEncoder = new VideoEncoder(); // publisher
            var mail         = new MailService();  // subscriber
            var text         = new TextService();  // subscriber

            videoEncoder.VideoEncoded += mail.OnVideoEncoded;
            videoEncoder.VideoEncoded += text.OnVideoEncoded;


            videoEncoder.Encode(video);
        }
コード例 #10
0
        static void Main(string[] args)
        {
            var video = new Video {
                Title = "Titlu film"
            };
            var videoEncoder   = new VideoEncoder(); // acesta este publisher-ul nostru, ce va comunica si va trimite info catre subscriberi
            var mailService    = new MailService();  // acesta este un subscriber la publisher-ul de mai sus
            var messageService = new MessageService();

            //7. subscribtia ce sa va produce va fi reprezentata in felul de mai jos:
            videoEncoder.videoEncoded += mailService.OnVideoEncoded;//mai intai facem subscritia si chemama metoda folosind [+= ] ca sa inregistram handlerul la event !! nosta nu avem paranteze petru ca nu chemama metoda din MailService doar ne legam de ea facem o referinta un pointer
            videoEncoder.videoEncoded += messageService.OnVideoEncoded;
            videoEncoder.Encode(video);
            Console.ReadLine();
        }
コード例 #11
0
        static void Main(string[] args)
        {
            var video = new Video()
            {
                Title = "Wreck-It Ralph"
            };
            var videoEncoder   = new VideoEncoder();                 //publisher
            var mailService    = new MailService();                  //subscriber
            var messageService = new MessageService();               //subscriber 2

            videoEncoder.VideoEncoded += mailService.OnVideoEncoded; //not making a call to method here--instead it's a reference, no parenthesis
            videoEncoder.VideoEncoded += messageService.OnVideoEncoded;

            videoEncoder.Encode(video);
        }
コード例 #12
0
ファイル: Program.cs プロジェクト: SteinLabs/Mosh_C-_Advanced
        static void Main(string[] args)
        {
            var video = new Video() {Title = "Video1" };
            var videoEncoder = new VideoEncoder();      // Publisher
            var mailService = new MailService();        // Subscriber
            var messageService = new MessageService();  // Subscriber

            videoEncoder.VideoEncoded += mailService.OnVideoEncoded;    // Adding the method pointer to the delegate.
            videoEncoder.VideoEncoded += messageService.OnVideoEncoded; // This is what populates the VideoEncodedEventHandler. This is a subscription.

            videoEncoder.VideoEncoding += mailService.OnVideoEncoding;
            videoEncoder.VideoEncoding += messageService.OnVideoEncoding;

            videoEncoder.Encode(video);                                 
        }
コード例 #13
0
        static void Main(string[] args)
        {
            Video video = new EventsAndDelegates.Video()
            {
                Title = "Video 1"
            };
            VideoEncoder videoEncoder   = new VideoEncoder();
            var          mailService    = new MailService();
            var          messageService = new MessageService();

            videoEncoder.VideoEncoded += mailService.OnVideoEncoded;
            videoEncoder.VideoEncoded += messageService.OnVideoEncoded;

            videoEncoder.Encode(video);
        }
コード例 #14
0
        static void Main(string[] args)
        {
            var video = new Video()
            {
                Title = "Lambhorgini"
            };
            var videoEncoder = new VideoEncoder(); //publisher
            var mailService  = new MailService();  //subscriber
            var smsService   = new SmsService();   //subscriber

            videoEncoder.VideoEncoded += mailService.OnVideoEncoded;
            videoEncoder.VideoEncoded += smsService.OnVideoEncoded;
            videoEncoder.Encode(video);

            Console.ReadLine();
        }
コード例 #15
0
        static void Main(string[] args)
        {
            var video = new Video {
                Title = "VideoTitle", Duration = "120"
            };
            var videoEncoder = new VideoEncoder();


            MessageService messageService = new MessageService();
            MailService    mailService    = new MailService();

            videoEncoder.VideoEncoded += messageService.OnVideoEncoded;
            videoEncoder.VideoEncoded += mailService.OnVideoEncoded;

            videoEncoder.Encoder();
        }
コード例 #16
0
        static void Main(string[] args)
        {
            var video = new Video()
            {
                Title = "Video 1"
            };
            var videoEncoder = new VideoEncoder(); //publisher
            var mailService  = new MailService();  //subscriber
            var textService  = new TextService();

            videoEncoder.VideoEncoded += mailService.OnVideoEncoded; //subscribing to the method
            videoEncoder.VideoEncoded += textService.OnVideoEncoded;

            videoEncoder.Encode(video);
            Console.ReadLine();
        }
コード例 #17
0
        static void Main(string[] args)
        {
            var video = new Video()
            {
                Title = "MyVideo"
            };
            var videoEncoder   = new VideoEncoder();   //Publisher
            var mailService    = new MailService();    //Subscriber
            var messageService = new MessageService(); //Subscriber

            //Need to Subscribe to the Event
            videoEncoder.VideoEncoded += mailService.onVideoEncoded;
            videoEncoder.VideoEncoded += messageService.onVideoEncoded;

            videoEncoder.Encode(video);
        }
コード例 #18
0
ファイル: Program.cs プロジェクト: Gio2k/EventsAndDelegates
        static void Main(string[] args)
        {
            var video = new Video
            {
                Title = "Cuban Salsa"
            };

            var encoder = new VideoEncoder();
            var notification = new ConsoleNotificationService();

            encoder.VideoEncoded += notification.OnVideoEncoded;

            encoder.EncodeVideo(video);

            Console.WriteLine("Press any key.");
            Console.ReadKey();
        }
コード例 #19
0
        static void Main(string[] args)
        {
            var video = new Video()
            {
                Title = "Video 1"
            };
            var videoEncoder   = new VideoEncoder();   //publisher
            var mailService    = new MailService();    //subscriber
            var messageService = new MessageService(); //subscriber

            videoEncoder.RegisterEvent(mailService.OnVideoEncoded);
            videoEncoder.RegisterEvent(messageService.OnVideoEncoded);

            videoEncoder.Encode(video);

            Console.ReadLine();
        }
コード例 #20
0
    { //events are list of pointers to methods
        static void Main(string[] args)
        {
            var ourVideo = new Video()
            {
                Title = "Video 1"
            };
            var videoEncoder   = new VideoEncoder();   //publisher
            var mailService    = new MailService();    //subscriber
            var messageService = new MessageService(); //subscriber

            videoEncoder.VideoEncoded += mailService.OnVideoEncoded;
            //+= registers Event Handler (mandatory)
            //Uses raised event (OnVideoEncoded)
            videoEncoder.VideoEncoded += messageService.OnVideoEncoded; //no brackets() NOT CALLING METHOD AT ALL, just a reference or pointer

            videoEncoder.Encode(ourVideo);
        }
コード例 #21
0
        static void Main(string[] args)
        {
            VideoEncoder   vduEnc      = new VideoEncoder();
            Video          vdu         = new Video("MyVideo"); // publisher
            MailService    mailService = new MailService();    // subscriber
            MessageService msgService  = new MessageService();


            vduEnc.VideoEncoded       += mailService.OnVideoEncoded;
            vduEnc.VideoEncoded       += msgService.OnVideoEncoded;
            vduEnc.VideoEncoded       += (object source, VideoEventArgs e) => { Console.WriteLine("From lambda " + e.Video.Title); };
            vduEnc.VideoStartEncoding += (object source, VideoEventArgs e) => {
                Console.WriteLine("Start video encoding.");
            };

            vduEnc.Encode(vdu);
        }
コード例 #22
0
        static void Main(string[] args)
        {
            var video = new Video()
            {
                Title = "Naslov"
            };

            var            videoEncoder   = new VideoEncoder();
            var            mailService    = new MailService();
            MessageService messageService = new MessageService();

            videoEncoder.VideoEncoded += messageService.OnVideoEncoded;
            videoEncoder.VideoEncoded += mailService.OnVideoEncoded;
            videoEncoder.Encode(video);

            Console.ReadLine();
        }
コード例 #23
0
        static void Main(string[] args)
        {
            var video = new Video()
            {
                Title = "Video 1"
            };
            var videoEncoder   = new VideoEncoder();
            var mailService    = new MailService();
            var messageService = new MessageService();

            videoEncoder.VideoEncoded += mailService.OnVideoEncoded;
            videoEncoder.VideoEncoded += messageService.OnVideoEncoded;

            videoEncoder.Encode(video);

            Console.WriteLine("press any key");
            Console.ReadLine();
        }
コード例 #24
0
        public void Main(string [] args)
        {
            var video = new Video()
            {
                Title = "Video 1"
            };

            // Publisher
            var videoEncoder = new VideoEncoder();

            // Subscriber
            var mailService = new MailService();

            // OnVideoEncoded is the handler
            videoEncoder.VideoEncoded += mailService.OnVideoEncoded;

            videoEncoder.Encode(video);
        }
コード例 #25
0
ファイル: Program.cs プロジェクト: Hannahayek/TrainingCSharp
        static void Main(string[] args)
        {
            var video = new Video()
            {
                Title = "Video 1"
            };
            var videoEncoder   = new VideoEncoder();   //publisher
            var mailService    = new MailService();    //subscriber
            var massageService = new MessageService(); //subscriber

            //reference here not calling
            videoEncoder.VideoEncoded += mailService.OnVideoEncoded;
            videoEncoder.VideoEncoded += massageService.OnVideoEncoded;
            videoEncoder.Encode(video);


            Console.ReadLine();
        }
コード例 #26
0
ファイル: Program.cs プロジェクト: za-webdev/CSharp-Advance
        static void Main(string[] args)
        {
            var video = new Video()
            {
                Title = "Video1"
            };

            var videoEncoder   = new VideoEncoder();   // publisher
            var mailService    = new MailService();    // subscriber
            var messageService = new MessageService(); // subscriber



            videoEncoder.VideoEncoded += mailService.OnVideoEncoded;    // registering a handler to the event(which is OnVideoEncoded (event handler) in mail service)
            videoEncoder.VideoEncoded += messageService.OnVideoEncoded; // registering a handler to the event(which is OnVideoEncoded (event handler) in message service)

            videoEncoder.Encode(video);
        }
コード例 #27
0
        static void Main(string[] args)
        {
            var video = new Video()
            {
                Title = "The Lonely Shepherd"
            };
            var videoEncoder   = new VideoEncoder();                     // Publisher
            var mailService    = new MailService();                      // Subscriber
            var messageService = new MessageService();                   // Subscriber

            videoEncoder.VideoEnconded += mailService.OnVideoEnconded;   // Add method *event reference
            videoEncoder.VideoEnconded += messageService.OnVideoEncoded; // Add another method *event reference

            /* This way, we have to make changes to VideoEncoder class?
             * We do not net to change that class anymore, the only thing we have to do
             * does not need recompilation and redeployment.
             * We can add another class, nothing will be affected in the VideoEncoder class. */

            videoEncoder.Encode(video);
        }
コード例 #28
0
        static void Main(string[] args)
        {
            Video video = new Video()
            {
                Title = "Around the World in ..."
            };

            VideoEncoder encoder        = new VideoEncoder();
            var          mailservice    = new MailService();
            var          messageService = new MessageService();
            var          rssService     = new RssService();

            encoder.VideoEncoded   += mailservice.OnVideoEncoded;
            encoder.VideoEncoded   += messageService.OnVideoEncoded;
            encoder.VideoEncoding  += messageService.OnVideoEncoding;
            encoder.VideoEncoded   += rssService.OnVideoEncoded;
            encoder.VideoEncrypted += mailservice.OnVideoEncrypted;
            encoder.Encode(video);
            encoder.Encrypt(video);
        }
コード例 #29
0
        //get an event name from xml
        static void Main(string[] args)
        {
            var video = new Video {
                Title = "video 1"
            };
            var mailService = new MailService();
            var a           = typeof(MailService).GetMethod("OnVideoEncoded", new Type[] { typeof(VideoEventArgs) });
            //a.MakeGenericMethod
            var del = Delegate.CreateDelegate(typeof(Action <MailService, VideoEventArgs>), a);
            Action <object, object> caller = (instance, param) => del.DynamicInvoke(instance, param);

            caller(mailService, new VideoEventArgs {
                Video = video
            });
            // EventAggregator.Subscribe<VideoEventArgs>(caller);
            var msgService   = new MessageService();
            var temp         = new TempService();
            var videoEncoder = new VideoEncoder();

            //videoEncoder.VideoEncoded += mailService.OnVideoEncoded;
            videoEncoder.Encode(video);
            Console.ReadKey();
        }
コード例 #30
0
        static void Main(string[] args)
        {
            // instantiate the video object. This one's Ariel aww!
            var ariel = new Video()
            {
                Title = "Ariel"
            };

            // instantiate the encoder object. this is the EVENT PUBLISHER
            var videoEncoder = new VideoEncoder();

            // instantiate a new mail service an a new messag service.
            // This is the EVENT SUBSCRIBER
            var mailService    = new MailService();
            var messageService = new MessageService();

            // before we encode a video, we have to start the subscription. We didn't have to
            // change anything about the VideoEncoder! Wejust added a new class up there MessageService
            // whi hhas inside it an OnVideoEncoded method
            videoEncoder.VideoEncoded += mailService.OnVideoEncoded;
            videoEncoder.VideoEncoded += messageService.OnVideoEncoded;

            // call Encode method on your new encoder, passing in the Ariel video as parameter
            videoEncoder.Encode(ariel);



            Console.ReadKey();

            // publisher /event sender; subscriber/ event receiver
            // an EVENT is a method that notifies the subscribers

            /*A DELEGATE is a contract between the publisher and the subscriber bitlike an
             * interface
             *
             */
        }
コード例 #31
0
        static void Main(string[] args)
        {
            // Create video and encoder
            var video = new Video()
            {
                Title = "Video 1"
            };
            var videoEncoder = new VideoEncoder();  // publisher

            // Create mail and message service
            var mailService    = new MailService();    // subscriber
            var messageService = new MessageService(); // subscriber

            // Subscribe by adding reference to mailService function
            // Note: no brackets
            videoEncoder.VideoEncoded += mailService.OnVideoEncoded;
            videoEncoder.VideoEncoded += messageService.OnVideoEncoded;

            // Encode video
            videoEncoder.Encode(video);

            // Wait to show output
            Console.ReadLine();
        }
コード例 #32
0
        static void Main(string[] args)
        {
            var video = new Video() { Title = "The Lonely Shepherd" };
            var videoEncoder = new VideoEncoder(); // Publisher
            var mailService = new MailService(); // Subscriber
            var messageService = new MessageService(); // Subscriber

            videoEncoder.VideoEnconded += mailService.OnVideoEnconded; // Add method *event reference
            videoEncoder.VideoEnconded += messageService.OnVideoEncoded; // Add another method *event reference

            /* This way, we have to make changes to VideoEncoder class?
               We do not net to change that class anymore, the only thing we have to do
               does not need recompilation and redeployment.
               We can add another class, nothing will be affected in the VideoEncoder class. */

            videoEncoder.Encode(video);
        }