예제 #1
0
        // set the clock running
        // it will raise an event for each new second
        public void Run()
        {
            for (; ; )
            {
                // sleep 10 milliseconds
                Thread.Sleep(100);

                // get the current time
                System.DateTime dt = System.DateTime.Now;
                // if the second has changed
                // notify the subscribers
                if (dt.Second != second)
                {
                    // create the TimeInfoEventArgs object
                    // to pass to the subscriber
                    TimeInfoEventArgs timeInformation = new TimeInfoEventArgs(dt.Hour, dt.Minute, dt.Second);

                    // if anyone has subscribed, notify them
                    if (SecondChanged != null)
                    {
                        SecondChanged(this, timeInformation);
                    }
                }

                // update the state
                this.second = dt.Second;
                this.minute = dt.Minute;
                this.hour = dt.Hour;
            }
        }
예제 #2
0
 // the method that implements the
 // delegated functionality
 public void TimeHasChanged(object Clock, TimeInfoEventArgs ti)
 {
     Console.WriteLine("Current Time to write: {0}:{1}:{2}",
                       ti.hour.ToString( ), ti.minute.ToString( ), ti.second.ToString( ));
 }
예제 #3
0
 // the method that implements the
 // delegated functionality
 public void TimeHasChanged(object theClock, TimeInfoEventArgs ti)
 {
     Console.WriteLine("Current Time: {0}:{1}:{2}", ti.hour.ToString(), ti.minute.ToString(), ti.second.ToString());
 }
예제 #4
0
 // this method should write to a file
 // we write to the console to see the effect
 // this object keeps no state
 public void WriteLogEntry(object theClock, TimeInfoEventArgs ti)
 {
     Console.WriteLine("Logging to file: {0}:{1}:{2}", ti.hour.ToString(), ti.minute.ToString(), ti.second.ToString());
 }
예제 #5
0
 // this method should write to a file
 // we write to the console to see the effect
 // this object keeps no state
 public void WriteLogEntry(object theClock, TimeInfoEventArgs ti)
 {
     Console.WriteLine("Logging to file: {0}:{1}:{2}", ti.hour.ToString(), ti.minute.ToString(), ti.second.ToString());
 }