static void Main(string[] args) { Console.WriteLine("Hello, This is Tracy's Final Exam Project!"); FinalExam.Demo(); Console.WriteLine("Part2: 15 Points"); Console.WriteLine("Adding the requires MyBread, MyMilk and MyPJ inner classes derived from MyIte."); Console.WriteLine("Part2 ... done!"); Console.WriteLine("Part3: 10 Points"); Console.WriteLine(" (1)Adding properties int Id, double Price and string Name"); //itemList.AddItem("101,apple,0.99"); //itemList.AddItem("020,banana,1.99"); //itemList.AddItem("056,pineapple,6.99"); //Console.WriteLine(" (2)Implement Comparable."); //itemList.CompareName(FinalExam.CompareName); //itemList.ExhibitItem(); //Console.WriteLine(" (2.1)Comparable by Name."); //itemList.ComparePrice(FinalExam.ComparePrice); //itemList.ExhibitItem(); //Console.WriteLine(" (2.2)Comparable by Price."); //itemList.CompareId(FinalExam.CompareId); //itemList.ExhibitItem(); //Console.WriteLine(" (2.3)Comparable by Id."); Console.WriteLine("Part3 ... done!"); Console.WriteLine("Part4: 15 Points."); Console.WriteLine("Demonstrate the use of a Publisher/Subscriber event with Threads."); var dealer = new BookDealer(); //Publisher Console.WriteLine(" (1)Create three students and subscribe the Publisher."); var tracy = new Student("Tracy"); var bo = new Student("Bo"); var yuelong = new Student("Yuelong"); dealer.NewBookInfo += tracy.NewBookIsHere; //subscribe dealer.NewBookInfo += bo.NewBookIsHere; dealer.NewBookInfo += yuelong.NewBookIsHere; dealer.NewBook("TOEFL"); // Publish Event Console.WriteLine(" (2)One student cancle subscribe and then publish another event."); dealer.NewBookInfo -= tracy.NewBookIsHere; dealer.NewBook("Programming"); // Publish Event Console.WriteLine("Part4 ... done!"); }
/* * 60 POINTS: */ public static void Demo() { Console.WriteLine($"\n\t FinalExam.Demo() version {Version} ..."); FinalExam obj = new FinalExam(); obj.UseStrings(); // 2 POINTS obj.UseObjectInitializer(); // 4 POINTS obj.ParseCSVString(); // 4 POINTS obj.SortIntegers(); // 2 POINTS obj.SortDoubles(); // 2 POINTS obj.SortStrings(); // 6 POINTS obj.SortItems(); // 10 POINTS obj.ProcessIntegers(); // 5 POINTS obj.ProcessDoubles(); // 5 POINTS obj.ProcessItems(); // 10 POINTS obj.UsePolymorphism(); // 10 POINTS Console.WriteLine("\n\t FinalExam.Demo()...done!"); }