• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
悟空的天空
天马行空
博客园    首页    新随笔    联系   管理    订阅  订阅
匿名示例用
 

本匿名示例用到的概念:

委托:传递方法,把方法的细节封装在一种新类型的对象中。它是一种特殊的对象类型,只是包含方法的细节。所以类型安全性很高。(细节:方法是联系的,它考虑到之间的联系)。                 

委托的使用:(1)定义。委托代表了哪种类型的方法。定义委托时,要给出它代表的方法的全部细节。关键字:delegate。位置:在定义类的地方就可定义委托(类中/外)。用:Public,private,protexted等修饰。(2)实例化(new)。(可以调用任何类型的对象上的方法)。参数就是委托引用的方法。必须写出所调用的方法名称。

 

匿名委托:定义和委托一样,只是在实例化时,匿名委托传的参数不是方法名而是使用一个是一个代码块。

 

多播委托:.用于实现一个委托包含多个方法的调用。而不用委托数组。

 

在学习示例笔记:

1.         明白了,怎么使使编写的代码逻辑清晰。如例子:(1)把人声明为一个大类,分别加上所需要显示的各个属性。(2)再把属性里需要用到的算法,放在另一个类中。(3)最后实例化人,把每个人的属性显示。

2.         如例子。计算一个实体时,需要用到多个算法,其中更会遇到方法调用方法,这时就用到了委托。无论是委托、匿名委托、多播委托都只是一个实施手段,需要根据实际运用而选择。

3.         区别委托、匿名委托、多播委托。 委托、匿名委托只是在实例化上不同。

代码:CalculateBonus standard_bonus = delegate(decimal sales) { return sales / 10; };

CalculateBonus standard_bonus = =new CalculateBonus(CalculateStandardBonus);

这两句执行效果是一样的!

posted on 2008-08-25 08:43  悟空  阅读(200)  评论(1)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3