// Вызов переданного делегата каждой книге в бумажной обложке для ее обработки: public void ProcessPaperbackBooks(ProcessBookDelegate processBook) { foreach (Book b in list) { if (b.Paperback) processBook(b); // Вызов делегата: } }
public void processPaperbackBooks(ProcessBookDelegate processBook) { for (int i = 0; i < 5; i++) { processBook(new Book()); } }
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()); }
public void ProcessPaperbackBooks(ProcessBookDelegate processBook) { if (ReturnSrok) { processBook(this); } }
// 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(); }
// 对每本平装图书调用传入委托来进行处理: public void ProcessPaperbackBooks(ProcessBookDelegate processBook) { foreach (Book b in list) { if (b.Paperback) // 调用该委托: processBook(b); } }
// 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 ); } }
public void ProcessPaperBackBooks(ProcessBookDelegate bookDelegate) { foreach (Book item in list) { if (item.PapaerBack) { bookDelegate(item); } } }
// 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); } } }
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 } } }
public void ProcessPaperbackBooks(ProcessBookDelegate processBook) { foreach (var book in _books) { if (book.Paperback) { processBook(book); } } }
// 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: } } }
public void ProcessPaperbackBook(ProcessBookDelegate processBookDelegate) { foreach (Book b in books) { if (b.Paperback && processBookDelegate != null) { processBookDelegate(b); } } }
public void ProcessPaperBackBooks(ProcessBookDelegate bookDelegate) { foreach (Book item in list) { if (item.PapaerBack) { bookDelegate(item); } } }
// call delegates public void ProcessPaperbackBooks(ProcessBookDelegate processBook) { foreach(Book b in booklist) { if (b.Paperback) { processBook(b); } } }
public void ProcessPaperbackBooks(ProcessBookDelegate processBook) { foreach (Book b in list) { if (b.Paperback) { processBook(b); } } }
// 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); } } }
// 对每本平装图书调用传入委托来进行处理: public void ProcessPaperbackBooksDelegate(ProcessBookDelegate processBook) //方法1 使用自定义委托类型 { foreach (Book b in list) { if (b.Paperback) { // 调用该委托: processBook(b); } } }
// 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); } } }
public void ProcessPaperbackBooks(ProcessBookDelegate processBook) //用ProcessBookDelegate委托创建一个参数,主函数传入方法 { foreach (Book b in list) { if (b.Paperback) { //委托调用的示例,他的创建是在main中参数传入时完成的 processBook(b); } } }
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); }