Ejemplo n.º 1
0
 // Вызов переданного делегата каждой книге в бумажной обложке для ее обработки: 
 public void ProcessPaperbackBooks(ProcessBookDelegate processBook)
 {
    foreach (Book b in list) 
    {
       if (b.Paperback) processBook(b);  // Вызов делегата:
    }
 }
Ejemplo n.º 2
0
 public void processPaperbackBooks(ProcessBookDelegate processBook)
 {
     for (int i = 0; i < 5; i++)
     {
         processBook(new Book());
     }
 }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            BookDB bookDB = new BookDB();

            // Initialize the database with some books
            AddBooks(bookDB);

            // Print all the titles of paperbacks
            Console.WriteLine("Paperback Book Titles: ");

            // create a new delegate object associated with the static method Test.PrintTitle
            ProcessBookDelegate printTitleDelegate = PrintTitle;

            bookDB.ProcessPaperbackBooks(printTitleDelegate);

            // Get the average price of a paperback by usinf a Pricetotaller object:
            PriceTotaller totaller = new PriceTotaller();

            // Create a new delegate object associated with the nonstatic method AddBookToTotal on the object totaller
            ProcessBookDelegate totallerDelegate = totaller.AddBookToTotal;

            bookDB.ProcessPaperbackBooks(totallerDelegate);

            Console.WriteLine("Average Paperback Book Price: ${0:#.##}",
                              totaller.AveragePrice());
        }
Ejemplo n.º 4
0
 public void ProcessPaperbackBooks(ProcessBookDelegate processBook)
 {
     if (ReturnSrok)
     {
         processBook(this);
     }
 }
Ejemplo n.º 5
0
            // Execution starts here.
            static void Main()
            {
                BookDB bookDB = new BookDB();

                // Initialize the database with some books:
                AddBooks(bookDB);

                // Print all the titles of paperbacks:
                System.Console.WriteLine("Paperback Book Titles:");

                // Create a new delegate object associated with the static
                // method Test.PrintTitle:
                bookDB.ProcessPaperbackBooks(PrintTitle);
                //        bookDB.ProcessPaperbackBooks(Console.WriteLine);

                // Get the average price of a paperback by using
                // a PriceTotaller object:
                PriceTotaller totaller = new PriceTotaller();

                // Create a new delegate object associated with the nonstatic
                // method AddBookToTotal on the object totaller:
                ProcessBookDelegate myfunc = totaller.AddBookToTotal;

                myfunc += totaller.FindDistinctAuthors;

                bookDB.ProcessPaperbackBooks(myfunc);

                System.Console.WriteLine("Average Paperback Book Price: ${0:#.##}",
                                         totaller.AveragePrice());

                totaller.ShowAllAuthors();
            }
Ejemplo n.º 6
0
 // 对每本平装图书调用传入委托来进行处理:
 public void ProcessPaperbackBooks(ProcessBookDelegate processBook)
 {
     foreach (Book b in list)
      {
     if (b.Paperback)
     // 调用该委托:
        processBook(b);
      }
 }
Ejemplo n.º 7
0
 // Call a passed-in delegate on each paperback book to process it:
 public void ProcessPaperbackBooks( ProcessBookDelegate processBook )
 {
     foreach ( Book b in list )
     {
         if ( b.Paperback )
             // Calling the delegate:
             processBook( b );
     }
 }
Ejemplo n.º 8
0
 public void ProcessPaperBackBooks(ProcessBookDelegate bookDelegate)
 {
     foreach (Book item in list)
     {
         if (item.PapaerBack)
         {
             bookDelegate(item);
         }
     }
 }
Ejemplo n.º 9
0
 // Call a passed-in delegate on each paperback book to process it:
 public void ProcessPaperbackBooks(ProcessBookDelegate processBook)
 {
     foreach (Book book in bookList)
     {
         if (book.Paperback)
         {
             processBook(book);
         }
     }
 }
Ejemplo n.º 10
0
 public void ProcessPaperbackBooks(ProcessBookDelegate processBook)//taking in delegate
 {
     foreach (Book b in list)
     {
         if (b.Paperback)
         {
             processBook(b);//the delegate itself takes in a book
         }
     }
 }
Ejemplo n.º 11
0
 public void ProcessPaperbackBooks(ProcessBookDelegate processBook)
 {
     foreach (var book in _books)
     {
         if (book.Paperback)
         {
             processBook(book);
         }
     }
 }
Ejemplo n.º 12
0
 // Call a passed-in delegate on each paperback book to process it:
 public void ProcessPaperbackBooks(ProcessBookDelegate processBook)
 {
     foreach (Book b in list)
     {// processBook = 被委派之方法
         if (b.Paperback)
         {
             processBook(b);             // Calling the delegate:
         }
     }
 }
Ejemplo n.º 13
0
 public void ProcessPaperbackBook(ProcessBookDelegate processBookDelegate)
 {
     foreach (Book b in books)
     {
         if (b.Paperback && processBookDelegate != null)
         {
             processBookDelegate(b);
         }
     }
 }
Ejemplo n.º 14
0
 public void ProcessPaperBackBooks(ProcessBookDelegate bookDelegate)
 {
     foreach (Book item in list)
     {
         if (item.PapaerBack)
         {
             bookDelegate(item);
         }
     }
 }
Ejemplo n.º 15
0
 // call delegates
 public void ProcessPaperbackBooks(ProcessBookDelegate processBook)
 {
     foreach(Book b in booklist)
     {
         if (b.Paperback)
         {
             processBook(b);
         }
     }
 }
Ejemplo n.º 16
0
 public void ProcessPaperbackBooks(ProcessBookDelegate processBook)
 {
     foreach (Book b in list)
     {
         if (b.Paperback)
         {
             processBook(b);
         }
     }
 }
Ejemplo n.º 17
0
        // Call a passed-in delegate on each paperback book to process it

        public void ProcessPaperbackBooks(ProcessBookDelegate processBook)
        {
            foreach (var book in this.books)
            {
                if (book.Paperback)
                {
                    //calling the delegate
                    processBook(book);
                }
            }
        }
Ejemplo n.º 18
0
 // 对每本平装图书调用传入委托来进行处理:
 public void ProcessPaperbackBooksDelegate(ProcessBookDelegate processBook) //方法1 使用自定义委托类型
 {
     foreach (Book b in list)
     {
         if (b.Paperback)
         {
             // 调用该委托:
             processBook(b);
         }
     }
 }
Ejemplo n.º 19
0
 // Pass in delegate on each paperback book to process it:
 public void ProcessPaperbackBooks(ProcessBookDelegate processBook)
 {
     foreach (Book b in list)
     {
         if (b.IsPaperBack)
         {
             // Calling the delegate:
             processBook(b);
         }
     }
 }
Ejemplo n.º 20
0
 public void ProcessPaperbackBooks(ProcessBookDelegate processBook)
 //用ProcessBookDelegate委托创建一个参数,主函数传入方法
 {
     foreach (Book b in list)
     {
         if (b.Paperback)
         {
             //委托调用的示例,他的创建是在main中参数传入时完成的
             processBook(b);
         }
     }
 }
Ejemplo n.º 21
0
        static void Main(string[] args)
        {
            _predicates = new Dictionary <string, Func <int, int, bool> >();

            _predicates.Add("GreaterThan", (v, f) => v > f);
            _predicates.Add("LessThan", (v, f) => v < f);
            _predicates.Add("Equals", (v, f) => v == f);


            _thingys = new Dictionary <Predicate <int>, string>();
            _thingys.Add(isThisNumberCorrect, "shit");

            bool result = AnotherCustomPredicate(5);

            var helloBook = new ProcessBookDelegate(Hello);

            helloBook("shit");


            var customers = new List <string>();

            customers.Where(delegate(string c) { return(c == "me"); });
            customers.Where(c => c == "me");
            customers.Where(c => DoesThisEqualMe(c));
            customers.Where(c => DoesThisFuncMe(c));



            string mystring = "banana";

            mystring.Shout();

            Action <double> print = System.Console.Write;

            print(4.0);
        }