知识大全 关于.NET的委托[2]

Posted

篇首语:少年乘勇气,百战过乌孙。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 关于.NET的委托[2]相关的知识,希望对你有一定的参考价值。

关于.NET的委托[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   // 用以测试书籍数据库的类:   class Test         // 打印书籍题目的静态方法       static void PrintTitle(Book b)               Console WriteLine(    b Title);     

      // 程序执行的入口       static void Main()               BookDB bookDB = new BookDB();

         // 用几本书来输初始化书籍数据库:         AddBooks(bookDB);     

         // 打印平装书的题目:         Console WriteLine( Paperback Book Titles: );           // 创建与静态方法 Test PrintTitle 关联的新的委托对象:           bookDB ProcessPaperbackBooks(new ProcessBookDelegate(PrintTitle));

         // 通过PriceTotaller的实例获取平装书的平均价格:         PriceTotaller totaller = new PriceTotaller();           // 创建与对象 totaller 上的非静态方法 AddBookToTotal 关联的新的委托对象:           bookDB ProcessPaperbackBooks(new ProcessBookDelegate(totaller AddBookToTotal));         Console WriteLine( 平装书的平均价格: $ :# ##             totaller AveragePrice());     

      // 向数据库添加书以初始化书籍数据库:      static void AddBooks(BookDB bookDB)               bookDB AddBook( The C Programming Language             Brian W Kernighan and Dennis M Ritchie m true);         bookDB AddBook( The Unicode Standard             The Unicode Consortium m true);         bookDB AddBook( The MS DOS Encyclopedia             Ray Duncan m false);         bookDB AddBook( Dogbert s Clues for the Clueless             Scott Adams m true);        

输出 Paperback Book Titles:   The C Programming Language   The Unicode Standard    Dogbert s Clues for the Clueless平装书的平均价格: $  

  声明委托以下语句

  public delegate void ProcessBookDelegate(Book book);声明一个新的委托类型 每个委托类型都描述参数的数目和类型 以及它可以封装的方法的返回值类型 每当需要一组新的参数类型或新的返回值类型时 都必须声明一个新的委托类型                                                            

  实例化委托   声明了委托类型后 必须创建委托对象并使之与特定方法关联 与所有其他对象类似 新的委托对象用 new 表达式创建 但是当创建委托时 传递给 new 表达式的参数很特殊 它的编写类似于方法调用 但没有方法的参数 下列语句                                              

  bookDB ProcessPaperbackBooks(new ProcessBookDelegate(PrintTitle));创建与静态方法 Test PrintTitle 关联的新的委托对象 下列语句 bookDB ProcessPaperbackBooks(newProcessBookDelegate(totaller AddBookToTotal));创建与对象 totaller 上的非静态方法 AddBookToTotal 关联的新的委托对象 在例子中 新的委托对象都立即传递给 ProcessPaperbackBooks 方法 请注意一旦创建了委托 它所关联到的方法便永不改变 委托对象不可改变 调用委托   创建委托对象后 通常将委托对象传递给将调用该委托的其他代码 通过委托对象的名称(后面跟着要传递给委托的参数 括在括号内)调用委托对象 下面是委托调用的示例 processBook(b);

cha138/Article/program/net/201311/15562

相关参考

知识大全 一个关于C#的睡前故事[2]

NET委托:一个关于C#的睡前故事[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 .NET 委托

.NET委托  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  委托类型定义  C#编译器处理委托时

知识大全 asp.net教程-委托(Delegate)

asp.net教程-委托(Delegate)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs

知识大全 通过代码学习C#&.NET——委托使用

通过代码学习C#&.NET——委托使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  代码编写及

知识大全 .NET反射、委托技术与设计模式

.NET反射、委托技术与设计模式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  反射技术与设计模

知识大全 一个关于C#的睡前故事[3]

NET委托:一个关于C#的睡前故事[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 一个关于C#的睡前故事[1]

NET委托:一个关于C#的睡前故事[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 关于ASP.NET页面打印技术的总结[2]

关于ASP.NET页面打印技术的总结[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Web

知识大全 关于ASP.NET 2.0的目录结构变化

关于ASP.NET2.0的目录结构变化  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  我在开发中

知识大全 关于VS 2008和.NET 3.5 Beta2新特性介绍[2]

关于VS2008和.NET3.5Beta2新特性介绍[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一